[Delphi/C++] Form.Show w DLLce

0

Czesc,
Mam dllke ktora wyswietla swoja forme poprzez metodę Show():

     if not Assigned(frmMain) then
        begin
          frmMain := TfrmMain.Create(nil);
        end;
      frmMain.Show;

Problem jest taki, ze przy wykonaniu tej funkcji w wątku (TThread) forma pojawia sie na pol sekundy i zaraz zamyka.
DLLka jest w Delphi, program w (Borland) C++. Jednak wytłumaczenie w Delphi tez powinienem zrozumiec.

0

a ładujesz ty tego dll'a czy tylko wywołujesz z niego metody? =]

0

Ładuje.. Bez załadowania nie wykonam przecież żaden funkcji.

0

buargh =|

function .... external "mylib.dll";

czy

LoadLib(....
...
0

Sorry, zapomniałem o external (;
Uzywam LoadLibrary().

0

to teraz drugie pytanie, co masz w tym wątku?

LoadLib(...
Lib_ShowForm(...
FreeLib(...

czy

LoadLib(...
Lib_ShowForm(...
...
Sleep(10000); // choćby takie czekanie
...
FreeLib(...
<delphi>

a może inaczej? =]
</delphi>
0

W wątku ładuję DLLke, wykonuje funkcje i robie po tym FreeLibrary(). Pewnie dlatego forma sie zaraz zamyka, ale jak dam Sleep() to forma sie zawiesza, a jak usune FreeLibrary() to tez znika.

0

bo wątek się kończy =]

0

Więc jak to można sensownie rozwiązać ?

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