AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

procedure aufrufen!

Ein Thema von fredel007 · begonnen am 15. Dez 2003 · letzter Beitrag vom 15. Dez 2003
Antwort Antwort
Seite 2 von 3     12 3      
ims

Registriert seit: 23. Jul 2003
Ort: Sirnach
157 Beiträge
 
Delphi 7 Professional
 
#11

Re: procedure aufrufen!

  Alt 15. Dez 2003, 15:56
ja, hier ist es so... aber das ist längst nicht immer so... am besten gleich angewöhnen.

gruss, ims
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#12

Re: procedure aufrufen!

  Alt 15. Dez 2003, 15:58
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
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
fredel007

Registriert seit: 29. Okt 2003
Ort: Wörth am Rhein
25 Beiträge
 
#13

Re: procedure aufrufen!

  Alt 15. Dez 2003, 15:59
Vielen Dank,....
jetzt klappts!

schöne tage noch!
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#14

Re: procedure aufrufen!

  Alt 15. Dez 2003, 16:00
poste nochmal deinen source
haste es mal mit meinem probiert?
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: procedure aufrufen!

  Alt 15. Dez 2003, 16:01
@General2003:
Tyrael Y. war noch langsamer
Du hast aber eine sehr gute Erläuterung dazugegeben.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: procedure aufrufen!

  Alt 15. Dez 2003, 16:03
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.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#17

Re: procedure aufrufen!

  Alt 15. Dez 2003, 16:06
Zitat von Matze:
@General2003:
Tyrael Y. war noch langsamer
Du hast aber eine sehr gute Erläuterung dazugegeben.
Mich würd mal interessieren ob das alles richtig war was ich geschrieben hab (Hab grad den Punkt 1 nochmal editiert)
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: procedure aufrufen!

  Alt 15. Dez 2003, 16:10
Zitat von General2003:
1. Die Function/Procedure unter private oder public packen (Muss dann mit TForm1.Aufruf aufgerufen werden) (Sie "gehört" dann praktisch zu der Form1. So kannst du die Proceduren auch aus anderen Units aufrufen.
oder unter private public packen dann wird sie ohne "TForm1." aufgerufen.
also, wenn es so deklariert ist:
Delphi-Quellcode:
private
    { Private-Deklarationen }
    procedure Zeichne;
oder so:
Delphi-Quellcode:
public
    { Public-Deklarationen }
    procedure Zeichne;
und die Procedure so aussieht:
Delphi-Quellcode:
procedure Zeichne;
begin

end;
dann erfolgt der Aufruf mit:
TForm1.Zeichne; sieht die Procedure jedoch so aus:
Delphi-Quellcode:
procedure TForm1.Zeichne;
begin

end;
dann erfolgt der Aufruf mit:
Zeichne; Äh, kappiert?

[Edit]Falls du das so gemeint hast, dann stimmt's Der Rest müsste auch stimmen![/Edit]
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: procedure aufrufen!

  Alt 15. Dez 2003, 16:14
Moin Sebastian,

Zitat von General2003:
1. Die Function/Procedure unter private oder public packen (Muss dann mit TForm1.Aufruf aufgerufen werden) (Sie "gehört" dann praktisch zu der Form1. So kannst du die Proceduren auch aus anderen Units aufrufen.
oder unter private public packen dann wird sie ohne "TForm1." aufgerufen.
Die Stelle an der die Deklaration stand war schon richtig, obwohl natürlich auch eine andere Stelle möglich gewesen wäre.
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#20

Re: procedure aufrufen!

  Alt 15. Dez 2003, 16:15
Wenn ich das so mache:

Delphi-Quellcode:
  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;
Dann sagt der

Delphi-Quellcode:
[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'
Habs bis jetzt auch noch nie so gemacht. nur andersrum
Delphi-Quellcode:
procedure TForm1.Aufruf;
begin
  // Source
end;
und aufruf mit
Delphi-Quellcode:
begin
  Aufruf;
end;
Ist das ein Fehler von dir oder von mir? Wenn von mir: Wo liegt der Fehler und der Unterschied zwischen den beiden Möglichkeiten?
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 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