Pytania odnosnie *.DLL

0

Witam

Jak wiadomo, w dll mozemy zamieszczac nie tylko procedury i funkcje, ale cale formy (i to nie jedna sztuke) z calymi procedurami do wszystkich komponentow.

Wiem tez, ze z poziomu procedury wywolanego DLL nie jestesmy w stanie kontrolowac komponentow tych na formie w exeku (np zmienic kolor czcionki edita wywolujac dynamicznie DLL'a i wykonujac procerude)

Moje pytanie brzmi, czy istnieje sposob odwrotny?
Czy da sie odwolac do komponentow zawartych na formie w DLL?

0

Oczywiście. Jakaś funkcja w dllu zwraca wskaźnik do swojej formy programowi, po czym ten odwołuje się do tego wskaźnika. Tylko gorzej z kompatybilnością z pluginami napisanymi w innych językach.

0

thenkles... to nie dziala... Tzn ja tak probowalem (np. z zagniezdzaniem formy z dllki do programu) i sie nie da (w moim przykladzie wywala Cannot assign a TFont to a TFont czy jakos tak - czyli mimo ze formy byly pisane w tym samym delphim, to klasy widzi jako niekompatybilne... )

0

Przypisujesz klasę do klasy, czy coś takiego, że wyskakuje taki dziwny komunikat? Ja bym zrobił zmienną typu TForm, czy tam TTwojaForma, po czym przypisał jej ten wskaźnik do formy. Potem posługiwałbym się samym wskaźnikiem: Forma^.Caption:='coś', itp.

0

Tez kiedys probowalem tak kombinowac z DLLkami. Ale przeczytalem gdzies ze te obiekty ktore sa w dllce powinny byc tworzone i obslugiwane calkowicie przez ta dllke. Wiec nie odwolywalem sie normalnie przez obiekty (czy tez wskazniki do nich) lecz przez predefiniowana funkcyjke do ktorej przekazywalem parametry z programu a ona juz robila to co ja chcialem ale z poziomu DLLki. To co nie zostalo zdefiniowane to po prostu wysylalem odpowiedniego SendMessage() i to zalatwialo cala sprawe :D
I zadnych bledow juz nie mialem ;P

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