Pytania odnosnie *.DLL

Pytania odnosnie *.DLL
Novitius
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 18 lat
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?


Novitius "If You come with nothing, You leave with nothing..."
TH
  • Rejestracja:około 23 lata
  • Ostatnio:około 13 lat
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.

migajek
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 6 lat
  • Postów:370
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... )


TH
  • Rejestracja:około 23 lata
  • Ostatnio:około 13 lat
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.

desperat
  • Rejestracja:około 20 lat
  • Ostatnio:ponad 18 lat
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


SOA (Standartowa Odpowiedz Administratora):
"Dziwne... a u mnie dziala"
:D <font color="white">

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.