![]() |
Re: procedure aufrufen!
ja, hier ist es so... aber das ist längst nicht immer so... am besten gleich angewöhnen.
gruss, ims |
Re: procedure aufrufen!
Verdammt. Wo ich angefangen hab meine erste Antwort zu tippen waren da noch keine anderen. Und nach dem abschicken waren schon 5 antworten da..bin echt zu langsam geworden
|
Re: procedure aufrufen!
Vielen Dank,....
jetzt klappts! schöne tage noch! |
Re: procedure aufrufen!
poste nochmal deinen source
haste es mal mit meinem probiert? |
Re: procedure aufrufen!
@General2003:
Tyrael Y. war noch langsamer :mrgreen: Du hast aber eine sehr gute Erläuterung dazugegeben. :thumb: |
Re: procedure aufrufen!
Hier mal ein beispiel, bei mir geht das:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Farbe(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Farbe(Sender); end; procedure TForm1.Farbe(Sender: TObject); begin Color:=clNavy; end; end. |
Re: procedure aufrufen!
Zitat:
|
Re: procedure aufrufen!
Zitat:
Delphi-Quellcode:
oder so:
private
{ Private-Deklarationen } procedure Zeichne;
Delphi-Quellcode:
und die Procedure so aussieht:
public
{ Public-Deklarationen } procedure Zeichne;
Delphi-Quellcode:
dann erfolgt der Aufruf mit:
procedure Zeichne;
begin end;
Delphi-Quellcode:
sieht die Procedure jedoch so aus:
TForm1.Zeichne;
Delphi-Quellcode:
dann erfolgt der Aufruf mit:
procedure TForm1.Zeichne;
begin end;
Delphi-Quellcode:
Äh, kappiert? :mrgreen:
Zeichne;
[Edit]Falls du das so gemeint hast, dann stimmt's ;) Der Rest müsste auch stimmen![/Edit] |
Re: procedure aufrufen!
Moin Sebastian,
Zitat:
Aus anderen Units heraus aufgerufen werden kann sie aber nicht, wenn sie unter private steht. Das geht nur innerhalb der Unit in der sie deklariert wurde. Die Angabe von TForm ist, unabhängig davon, wo die Deklaration steht, bei der Implementierung immer erforderlich, und die Angabe von Form1 immer ausserhalb der Methoden. |
Re: procedure aufrufen!
Wenn ich das so mache:
Delphi-Quellcode:
Dann sagt der
public
{ Public declarations } procedure Aufruf; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin TForm1.Aufruf; end; procedure Aufruf; begin ShowMessage('Klappt'); end;
Delphi-Quellcode:
Habs bis jetzt auch noch nie so gemacht. nur andersrum
[Fehler] Unit1.pas(33): Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt
[Fehler] Unit1.pas(20): Ungenügende Forward- oder External-Deklaration: 'TForm1.Aufruf'
Delphi-Quellcode:
und aufruf mit
procedure TForm1.Aufruf;
begin // Source end;
Delphi-Quellcode:
Ist das ein Fehler von dir oder von mir? Wenn von mir: Wo liegt der Fehler und der Unterschied zwischen den beiden Möglichkeiten?
begin
Aufruf; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz