Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Procedures aus anderen Forms aufrufen (https://www.delphipraxis.net/38744-procedures-aus-anderen-forms-aufrufen.html)

C64-Flo 23. Jan 2005 17:16


Procedures aus anderen Forms aufrufen
 
Jo, ich mal wieder mit einer ganz banalen Frage:

Wie kann ich eine procedure aus einer beliebigen Form aufrufen?

form33.procedurename;

funzt nicht (auch wenns eigentlich der logische befehl wäre..?)

:cat:

freak4fun 23. Jan 2005 17:20

Re: Procedures aus anderen Forms aufrufen
 
Sollte eigentlich klappen.
Procedure sollte im public teil stehen glaub ich. :mrgreen:
Und die unit muss auch mit eingebunden werden im Uses Teil.
Bin mir aber nicht sicher Sry.

MfG
freak

C64-Flo 23. Jan 2005 17:32

Re: Procedures aus anderen Forms aufrufen
 
aha

hmmm :gruebel:

habe jetzt

procedure reittierinit(Sender: TObject);

im public declarations teil stehen, aber jetzt spuckt er mir ´not enough actual parameters´ wenn ich die procedure später aufrufen möchte..

hülfe! :pale:

freak4fun 23. Jan 2005 17:37

Re: Procedures aus anderen Forms aufrufen
 
Unit1

Delphi-Quellcode:
public
  procedure Hallo;

...

procedure Form1.Hallo;
begin
  blablabla;
end;
Unit2
Delphi-Quellcode:
uses
  Unit1;

...
Form1.Hallo;
Habs nicht getestet.

MfG
freak

NikoMitDaMacht 23. Jan 2005 18:13

Re: Procedures aus anderen Forms aufrufen
 
procedure reittierinit(Sender: TObject);

Sender: TObject.

Du Musst beim aufrufen noch ein objekt angeben:

Delphi-Quellcode:
form1.reittierinit(self);

C64-Flo 23. Jan 2005 18:23

Re: Procedures aus anderen Forms aufrufen
 
ah ja...das klingt logisch :)

Delphi-Quellcode:
  public
    { Public declarations }
    procedure reittierinit(Sender: TObject);

...

procedure reittierinit(Sender: TObject);
begin
...
end;

...

form33.reittierinit(self);

nur.....

jetzt schimpft der compiler:

Unsatisfied forward or external declaration : 'TForm33.reittierinit'



<heuel> :cry:

freak4fun 23. Jan 2005 18:32

Re: Procedures aus anderen Forms aufrufen
 
Hallo hier meine Units:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
     procedure Hallo;
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses
   Unit2;

procedure TForm1.Hallo;
begin
   ShowMessage('Hallo!');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Form2.ShowModal;
end;

end.
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

uses
   Unit1;

procedure TForm2.Button1Click(Sender: TObject);
begin
   Form1.Hallo;
end;

end.
Ich hoffe das lößt dein Problem.

MfG
freak

C64-Flo 23. Jan 2005 18:51

Re: Procedures aus anderen Forms aufrufen
 
Yesssssss! :-D
es funzt
Danke, danke danke!

:cheers:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 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