Hallo,
ich spiele gerade mit selbsterstellten DLLs rum und experimentiere mit deren Möglichkeiten. Dabei hänge ich an folgendem Problem fest.
Ich habe eine Base-
DLL-Datei mit folgender Funktion:
Delphi-Quellcode:
function menuentries_add(Target: TComponent): byte; stdcall;
var
Menue: TMainMenu;
Item_Hilfe: TMenuItem;
begin
Menue := TMainMenu.Create(Target);
Item_Hilfe := TMenuItem.Create(Menue);
Item_Hilfe.Caption := 'Test';
Menue.Items.Add(Item_Hilfe);
end;
Problem ist, wenn ich aus einer Form (sprich: fremdes Projekt, welches auf die
DLL zugreift) diese Funktion aufrufen möchte, passiert erstmal nichts. Beim Schließen der Anwendung hagelt es dann
Access Violations und ein Runtime Error.
Aufrufen tu ich die Funktion so:
Fmenuentries_add(frm_Main);
Wenn ich den Funktionsaufruf mit den 4 Zeilen aus der Funktion ersetze (genauso wie das "Target" mit "frm_Main"), dann funktioniert es ohne Probleme. Schätze mal, dass es irgendwie an der Variable "Target" liegt, aber eine Lösung will mir partout nicht einfallen.