Einzelnen Beitrag anzeigen

Nju

Registriert seit: 16. Jun 2004
41 Beiträge
 
#1

Mit DLL Menü-Einträge auf fremder Form erstellen

  Alt 8. Feb 2008, 10:07
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.
  Mit Zitat antworten Zitat