Как сделать плагин на С++?

Описание: Вопросы, связанные с каталогизатором фильмов All My Movies
Модераторы: datasource, Автор

Demitreus
Пользователь
Demitreus
Пользователь
Репутация: 0
С нами: 13 лет 3 месяца

Сообщение #1 Demitreus » Сб сентября 10, 2011 11:37 pm

Проблемма с возвращением нуля функции и где копать не пойму

Нужно в описании разработки плагина сделать примерчики для С++ не все программируют на Делфи.

У меня сейчас так в Borland Builder. Форма открывается, название плагина считывается. Но вот обратиться к функциям не получается

Код: Выделить всё


#define DLL_SPEC __declspec(dllexport)

extern "C"
{
   int DLL_SPEC __stdcall GetVersion4();
   char* DLL_SPEC __stdcall GetName4();
   void DLL_SPEC __stdcall AMM_PluginStart4();
   void DLL_SPEC __stdcall Init4(int Owner);
}

typedef int __stdcall (*iGetPChar)(char * &s);

void __stdcall Init4(int Owner)
{
    OwnerApp = Owner;
}

void __stdcall AMM_PluginStart4()
{
    TFirstForm *frm = new TFirstForm(Application);
    frm->ShowModal();
    delete frm;
}

__fastcall TFirstForm::TFirstForm(TComponent* Owner)
{
    char *s = new char[500];
    iGetPChar fun = (iGetPChar)GetProcAddress((HMODULE)OwnerApp, "GetLocalPath");
    int i=0;
    if(fun){
        i = fun(s);
    }
    delete[] s;
}


Так вот fun равен NULL. Что не так?

Вернуться в «All My Movies»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя