Einzelnen Beitrag anzeigen

taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
534 Beiträge
 
Delphi 11 Alexandria
 
#1

Ereignisprozedur ohne Klasse (Prozedurenzeiger)

  Alt 2. Mär 2016, 10:50
Delphi-Version: XE2
Hallo zusammen,
Sorry für den Titel. Für ein älteres Projekt nutze ich die unit OneInstance.pas aus dieser Community um einfach einen Mehrfachstart zu verhindern. Das funktioniert perfekt. Nun sollte ich allfällige Parameter an die Instanz auch verwenden. Der Author schreibt hier einfach:
Zitat:
Über den Prozedurenzeiger NewInstProc kann eine Ereignisprozedur festgelegt werden
Wie kann ich das tun? Wenn ich eine Procedure anlege und diese Versuche zu assignen a la:
Delphi-Quellcode:
uses
  ,OneInstance
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure NewInst(ProcessId: Cardinal; CmdLine: string; var Allow: Boolean);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  OneInstance.NewInstProc:= self.NewInst;
end;
wird logischerweise bemängelt: Inkompatible Typen: Reguläre Prozedur und Methodenzeiger. Hinweis: Die Komponente ist nicht installiert - es ist nur die Unit in uses.

Danke für eine Erleuchtung
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat