Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: TMenuItem soll eine DLL-Prozedur aufrufen

  Alt 1. Jan 2007, 17:49
Zitat von Bernhard Geyer:
Zitat von xZise:
Und DoMenuItemClick ruft MenuItemClick auf?
So in der Art.
o.O Wie soll ich das dann realisieren?

Zitat von Bernhard Geyer:
Du kannst Doch deinen Code entsprechende erweitern.

DllVonNummer((item as TMenuItem).tag).MenuItemClick
Aber wie komme ich an die "DllVonNummer()"?
Müsste ich nocheinmal die Dll laden?

Zitat von Bernhard Geyer:
oder zusätzlich noch eine Verwalter drüber legen der für jede DLL eine Instanz dieses Objektes erzeugt-
Also sozusagen ein "array of TMyClass"? Und für jede Dll dann ein Objekt erstellen? Dass könnte funktionieren.

Aber jetzt bräuchte ich irgendwie Quelltext, weil ich bisher irgendwie weiterkomme.

Also ich mache es ungefähr so:
Delphi-Quellcode:
type
  TLink = class(TObject)
  private
    procedure MenuItemClick(data : TItemData);
  public
    procedure OnMenuItemClick(Sender: TObject) of object;
  end;

[...]

procedure OnMenuItemClick(Sender : TObject);
begin
  { Mein Verständnisproblem: }
  "MenuItemClick der DLL aufrufen und 'data' übergeben"
end;

Delphi-Quellcode:
var
  Linker : array of TLink
begin
  [...] // DLL laden
  item.OnClick := Linker[High(Linker)].OnMenuItemClick;
end;
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat