Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TNotifyEvent mit String Parameter ? (https://www.delphipraxis.net/9270-tnotifyevent-mit-string-parameter.html)

madbrain 22. Sep 2003 15:48


TNotifyEvent mit String Parameter ?
 
Moin, habe folgendes Problem:
Ich möchte einer Prozedur eine andere Prozedur zuweisen, so wie das bei
Code:
Application.OnHint := Form1.Test;
auch gut funktioniert.

Nur sieht meine Test Prozedur anders aus. Sie hat genau einen String Parameter.
Code:
procedure test(name : string);
Wenn ich diese Prozedur einer anderen zuweisen will, wie muss ich die andere dann deklarieren? :?: :?:
Mit TNotifyEvent funzt das nicht, weil die nur Sender als Parameter hat.

Danke im Voraus

Illuminator-23-5 22. Sep 2003 15:53

Re: TNotifyEvent mit String Parameter ?
 
welchen parameter erwartest du?
Wenn du den Namen als komponente willst, kannst du folgendes Schreiben:
Delphi-Quellcode:
procedure Form1.Test(Sender: TObject);
var
  name: string;
begin
  name := (Sender as TComponent).Name;
  ...
end;

madbrain 22. Sep 2003 16:02

Re: TNotifyEvent mit String Parameter ?
 
es gibt keine komponente!
die prozedur ist nicht einmal eine Methode von TForm1

sie sieht so aus:
Code:
procedure test(name : string);
begin
 bla
 bla
end;
deklariert unter einem anderen Object Typ als public.

und dazu brauch ich eine methode der man test() zuweisen kann:
Code:
procedure zuweisen(name : String) //weiss nicht wie ich sie deklarieren muss...
begin
...
end;
und dann das zuweisen:
Code:
zuweisen() := test();
also wenn ich abc('12345') aufrufe, soll test('1234') ausgeführt werden.

Christian Seehase 25. Sep 2003 13:06

Re: TNotifyEvent mit String Parameter ?
 
Moin Madbrain,

wenn ich Dich richtig verstanden habe, könntest Du es so machen:

Delphi-Quellcode:
type
  TcsMyProc = procedure(AsStringParameter : string);

implementation

{$R *.DFM}

procedure TEST(AsStringParameter : string);
begin
  ShowMessage(AsStringParameter);
end;

procedure TForm1.Button1Click(Sender: TObject);

var
  MyProc : TcsMyProc;

begin
  MyProc := TEST;
  MyProc('HALLO');
end;

madbrain 29. Sep 2003 08:44

Re: TNotifyEvent mit String Parameter ?
 
Ich kanns hier grad nicht ausprobieren, aber das sieht gut aus! Ich denke das ist die Lösung!

Danke!!! :mrgreen: :spin:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz