![]() |
Dynamisches Menü und Dll Funktion
Ok,
folgendes. Ich habe eine dll mit ein paar Funktionen. Die DLL soll in mein Programm eingebunden werden und im Programm ein neuer Menüeintrag erstellt werden. Soweit noch alles einfach... Jetzt muss die Funktion aber auch irgendwie dynamisch angesprochen werden, wie bekomm ich das hin? Synonym P.S. Die tuts hab ich schon gelesen, leider nichts richtiges gefunden, oder einfach nur nicht verstanden :-) |
Re: Dynamisches Menü und Dll Funktion
Hi...
Wenn du die Tuts gelesen hast, biste bestimmt auf das hier gestoßen:
Delphi-Quellcode:
Damit hast du dir eine Funktion geschaffen, die die eine feste Funktion aus einer variablen DLL holt... Den Funktionsnamen kannste natürlich auch noch variabel machen!
TGetString = function():string;
function getDatenText(DBCon: string): string; // DBcon -> Name der DLL var dtext: TGetString; Handle: THandle; filepath: String; begin filepath:=ExtractFilePath(ParamStr(0))+DBCon; Handle:=LoadLibrary(@filepath[1]); if Handle <> 0 then begin @dtext := GetProcAddress(Handle, 'getDatasetText'); // getDatasetText -> Name der Funktion if @dtext <> nil then begin result:=dtext(); end; FreeLibrary(Handle); end; end; BTW: Du solltest nicht unbedingt Strings benutzen, wenn du mit DLL's arbeitest. Bei mir war es aber notwendig - Tschuldigung 8) |
Re: Dynamisches Menü und Dll Funktion
ok, soweit verstanden, jetzt kann ich aber dem menüitem beim oncklick nur eine procedure zuweisen...
und jetzt? synonym |
Re: Dynamisches Menü und Dll Funktion
Nochmal...?!?
Du sagtest doch du hast in der DLL eine Funktion? Du hast da zwei Möglichkeiten... Einmal geht der Code oben natürlich auch mit prozeduren. Brauchst nur umschreiben - kommt drauf an was du damit machen willst. Zum anderen kannst du natürlich, falls due Rückgabewerte aus der DLL brauchst, onClick mit einer Prozedur verbinden, aus der du dann die Funktion aufrufst... sollte kein problem sein, oder? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz