Witam
Mam kilka pytań odnośnie bibliotek dll.
Program macierzysty jest napisany w BDS2006 (Turbo Delphi), natomiast dll'ka w Delphi 4 Standard.
-
W jaki sposób inicjalizujecie obiekt Application biblioteki dll ? Czy podstawiając Application.Handle := aHandle (gdzie aHandle to uchwyt aplikacji macierzystej), czy podstawiając Application := GetApplication; (gdzie GetApplication to funkcja eksportowa z exe'ca zwracająca obiekt TApplication).
-
Jak później macie jakieś funkcje eksportowe które wyświetlają modalnie jakieś formatki to jak je tworzycie ? Form1 := TForm1.Create(i tu co?), Application ? , czy przekazujecie jakiegoś aOwner typu TComponent ?
-
Załóżmy że chcę użyć drugiego sposobu inicjalizowania obiektu application biblioteki dll. Jeśli w BDS napiszę sobie funkcję która mi zwróci Application exe'ca, to czy nie będzie to miało znaczenia że potem podstawiam ją do obiektu Application biblioteki dll ale napisanej w D4 (chodzi mi o to, że przecież te typy mogły się zmienić przez te kilka lat).
-
Debugowanie dll'ek. Ustawiłem sobie w moim delphi 4 Host Application na tego exec'a który wywołuje moją dll'kę, wyłączyłem optymalizację kodu, powłączałem wszystkie opcje na zakładce Debugging, oraz włączyłem Include Remote Debug Symbols. I żeby było śmiesznie za pierwszym razem zaczęło to działać. Normalnie dawałem F8 i debugowałem krok po kroku moją biblioteczkę. Jednak po zamknięciu Delphi przestało działać :( Macie pomysł co zrobić ? Dodam że na liście modułów (View -> Module list) jak zaznaczę moją dll'kę to nie ma opcji 'Reload System Table'. Jest tylko Break on Load - tyle że to przenosi mnie do okna CPU.
Z góry dziękuje za pomoc.