Foxpro 2.6a для Windows - вызов RegFn - PullRequest
       9

Foxpro 2.6a для Windows - вызов RegFn

1 голос
/ 12 октября 2011

Я должен заменить существующий вызов dll, который зарегистрирован и вызван с использованием RegFn и CallFn соответственно.

Я пытаюсь записать dll с использованием C # в надежде, что при условии совпадения сигнатуры функции иDLL находится в правильном месте, это будет работать.

так

pnHndl= RegFn("CALCULATE", "I", "I", "AJons.DLL")
pnRetVal = CallFn(pnHndl, 0)

Мой код выглядит следующим образом:

[Guid("EAB7C2CD-2471-4BDA-90E9-F70403BAA557")]
[ComVisible(true)]
public class AJons : _AJons
{

    [ComVisible(true)]
    public int CALCULATE(int value)
    {
        return value * 2;
    }

}

Foxpro не играет в мяч, я просто получаю'не удалось загрузить библиотеку AJon.dll'

У кого-нибудь есть здесь опыт?

Приветствия.

1 Ответ

2 голосов
/ 13 октября 2011

Из того, что я вижу, эти действительно старые RegFn и CallFn предназначены для вызова родных Winll-библиотек Win32 - полностью отличающихся от COM.

Что вам нужно для создания Win32 dll, который будет работать с этими функциями - это C ++.

Что вы должны сделать (если вы ДОЛЖНЫ продолжать использовать FoxPro), по крайней мере, использовать последнюю версию VFP.

написано на моем iPhone

Обновление 1

1) На всякий случай, если мне неясно, вы не сможете создать этот тип DLL из .NET.

2) Взгляните на эту ссылку здесь для очень простого примера написания Win32-библиотеки DLL.

...