[Builder] Formy w DLL inaczej

0

Witam

Mam taki oto problem. Tworzę biblioteke DLL w Builderze. Później w tej bibliotece tworzę forme i chce ją wywołać nie bezpośrednio z DLL, tylko za pomocą funkcji, która tą forme ma za zadanie wyświetlić

przykładowo

to w pliku main.cpp

extern "C" __cdecl(dllexport) __stdcall void wywolaj()
{
   Form1->ShowMyForm();
}

a w pliku cpp z funkcjami formy

void TForm1::ShowMyForm(void)
{
    Application->Initialize();
    Application->CreateForm(__classid(TForm1), &Form1);
    Application->Title = "LGuard";
    Form1->Show();
}

i niestety wysypuje sie z błędem EOSError podczas wywolywania funkcji wywolaj z programu exe

natomiast już MessageBox umieszczony w funkcji ShowMyForm bez problemu się wyświetla

Czy ktos ma jakies pomysły ? Z góry dzięki za pomoc !

0

Nie można wywołać bezpośrednio z Fromularza funkcji biblioteki, ponieważ funkcja biblioteki nie jest zadną metodą formularza, ani nie ma zdeklarowanego wskaźnika na tą funkcję.

0

extern "C" __cdecl(dllexport) __stdcall void wywolaj()
takiego czegoś jescze nie widziałem ;/
powino być raczej
extern "C" __declspec(dllexport) void __stdcall wywolaj()

1 użytkowników online, w tym zalogowanych: 0, gości: 1