Autor Beitrag
röntgen
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 29.12.07 14:13 
Hallo,
ich bin absoluter DElphi-Neuling. (habe bis jetzt mit LabView, VB, VBA gearbeitet; man kann sich also noch auf manch blöde Frage freuen;))
Aber nun zur FRage:
Ist es notwendig die aufgerufene Proc oder Func vor dem Aufruf im Code zu schreiben?
Bsp. funktioniert:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
implementation
{$R *.dfm}
procedure proc01();
begin
  showmessage('inProc01')
end;

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


Bsp. funktioniert NICHT:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
  proc01;
end;

procedure proc01();
begin
  showmessage('inProc01')
end;


Kann ich das irgendwie ändern?
Danke und Grüße
röntgen

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Moderiert von user profile iconGausi: Topic aus VCL (Visual Component Library) verschoben am Sa 29.12.2007 um 13:15


Zuletzt bearbeitet von röntgen am Sa 29.12.07 14:23, insgesamt 1-mal bearbeitet
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 29.12.07 14:16 
Hallo, und :welcome: in der Entwickler-Ecke

bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Richtlinien:

1.2 Beiträge:
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]


Einfach oben bei Deinem ersten Beitrag auf user defined image oder user defined image klicken und den Titel ändern. Danke Dir!

_________________
We are, we were and will not be.
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Sa 29.12.07 14:20 
1.ganz blöder TItel :mrgreen:
2.Wenn du noch eine Fehlermeldung dazu sagen könntest wäre das nicht schlecht.
Ich denke das du die Prozedure nicht deklariert hast.

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Sa 29.12.07 14:22 
Der Compiler arbeitet von oben nach unten. Demnach kennt er deine Prozedur noch nicht, wenn er Button1Click analyisiert. Schreibe die Prozedure im oberen Teil, wie folgt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
type
  TForm1 = class(TForm)
    procedure Button1Click(Sender: TObject);
    procedure MyProcedure();
  end;

und schreibe den Header der Procedure dann so:

ausblenden Delphi-Quelltext
1:
2:
3:
procedure TForm1.MyProcedure();
begin
end;

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Sa 29.12.07 14:24 
Alternativ könte man die aber auch unter TForm1 deklarieren(wie globale Variablen) und dann ohne TForm1. aufrufen.

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
ace1905
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: Sa 29.12.07 14:24 
wozu brauchst du das?
warum willst du denn deine funktionen so spät im quelltext einbauen. außerdem siehst du doch dass es so nicht geht. also schreib die funktionen am besten gleich an den anfang der implementation dann haste nie probleme. :-P
(mach ich jedenfalls immer so)
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Sa 29.12.07 14:46 
Öhm...mein Posting sollte nicht so verstanden werden, dass du den Titel in "Eine Anfängerfrage" änderst, sondern dass du da irgendwas vernünftiges hinschreibst. ;-)

Also bitte überleg dir mal etwas, was deine Frage grob zusammenfasst. - Danke.

_________________
We are, we were and will not be.
röntgen Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 29.12.07 14:54 
Erstmal Danke!! an alle. Ihr seid ja höllefix. Komme ja gar nicht hinterher mit testen und antworten.
@ace1905:
Ich bin das so gewohnt erst die Grundfunktionen zu schreiben und diese ans Ende des Codes zu setzen, und dann die übergeordneten Funktionen zu schreiben. Sparte 'Scrollwege' bei der Programmierung, ist aber sicherlich eine persönliche Ansicht oder Macke.

@Leuchtturm:
var
Form1: TForm1;
procedure proc01();

und dann funktionierts!! :)


@Gausi & Leuchtturm
Danke für Begrüßung und Hinweise
Herr Bananerama
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 130



BeitragVerfasst: Sa 29.12.07 14:58 
user profile iconace1905 hat folgendes geschrieben:
wozu brauchst du das?
warum willst du denn deine funktionen so spät im quelltext einbauen. außerdem siehst du doch dass es so nicht geht. also schreib die funktionen am besten gleich an den anfang der implementation dann haste nie probleme. :-P
(mach ich jedenfalls immer so)


Wieso denn am Anfang vom Implementation teil? ist es nicht völlig egal wo man prozeduren im Implementationteil hinschreibt, bei OOP? Nur innerhalb der prozedure arbeitet sich der quellentext von oben nach unten, solange man sich im Implementation abschnitt befindet, oder nicht?
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Sa 29.12.07 17:28 
Wenn du die Funktion vorher deklariert hast (im Interface-Teil), dann macht es nichts aus, wo du die Funktion dann definierst (im Implementation-Teil), weil dieser ja immer unter dem Interface-Teil ist.

user profile iconGausi hat folgendes geschrieben:
Öhm...mein Posting sollte nicht so verstanden werden, dass du den Titel in "Eine Anfängerfrage" änderst, sondern dass du da irgendwas vernünftiges hinschreibst. ;-)

Also bitte überleg dir mal etwas, was deine Frage grob zusammenfasst. - Danke.
Nur noch mal zur Erinnerung :)
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Sa 29.12.07 17:43 
Gabs da nicht auch mal sowas wie Forward-Deklarationen? Oder bring ich da jetzt irgendwas total durcheinander?

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Sa 29.12.07 17:49 
user profile iconTimosch hat folgendes geschrieben:
Gabs da nicht auch mal sowas wie Forward-Deklarationen?


:D :D Wir reden gerade fast ausschließlich über Forward-Deklarationen. Das sind Deklarationen, die im Interface-Teil erstellt werden. Sonst gibt es nur External-Deklarationen (DLLs), oder einfach gar keine. Und über die Forward- und keine Deklaratoinen geht's hier.
DrRzf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260

Win XP Prof
D7 Enterprise
BeitragVerfasst: Sa 29.12.07 18:59 
user profile iconGausi hat folgendes geschrieben:
Öhm...mein Posting sollte nicht so verstanden werden, dass du den Titel in "Eine Anfängerfrage" änderst, sondern dass du da irgendwas vernünftiges hinschreibst. ;-)

Also bitte überleg dir mal etwas, was deine Frage grob zusammenfasst. - Danke.


hat er grad :gruebel:

_________________
rein statistisch gesehen darf man keiner statistik trauen die man nicht selbst gefälscht hat.
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Sa 29.12.07 19:02 
Also bei mir steht da immer noch "Eine Anfängerfrage".
Timosch
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: Sa 29.12.07 19:03 
user profile iconYogu hat folgendes geschrieben:
user profile iconTimosch hat folgendes geschrieben:
Gabs da nicht auch mal sowas wie Forward-Deklarationen?


:D :D Wir reden gerade fast ausschließlich über Forward-Deklarationen. Das sind Deklarationen, die im Interface-Teil erstellt werden. Sonst gibt es nur External-Deklarationen (DLLs), oder einfach gar keine. Und über die Forward- und keine Deklaratoinen geht's hier.

Du darfst mich schlagen... :autsch:
Aber ich meine, es gab da mal sowas wie
ausblenden Delphi-Quelltext
1:
procedure xyz; forward;					

Offenbar irre ich mich.

user profile iconYogu hat folgendes geschrieben:
Also bei mir steht da immer noch "Eine Anfängerfrage".

Bei mir auch, trotz leeren des Caches.

[ot]Genau 600 Beiträge? Hurra, Flasche Sekt öffnen![/ot]

_________________
If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell


Zuletzt bearbeitet von Timosch am Sa 29.12.07 19:05, insgesamt 1-mal bearbeitet
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Sa 29.12.07 19:04 
Vorher stand: bitte helft mir, oder so :wink:

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 29.12.07 19:21 
user profile iconröntgen hat folgendes geschrieben:
@Gausi & Leuchtturm
Danke für Begrüßung und Hinweise

Wenn Du es gelesen hast, würde ich Dir vorschlagen, endlich mal den Titel zu ändern. Sonst wird der Beitrag bald über den Jordan gehen, wenn Du verstehst, was ich meine.
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Sa 29.12.07 19:44 
Es kann doch nicht so schwer sein, einen Titel innerhalb von rund fünf Stunden geändert zu haben :autsch: ...

_________________
Die Lösung ist nicht siebzehn.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 29.12.07 19:55 
user profile iconMitmischer 1703 hat folgendes geschrieben:
Es kann doch nicht so schwer sein, einen Titel innerhalb von rund fünf Stunden geändert zu haben :autsch: ...

Jetzt bitte aber beim Thema bleiben, den Rest erledigt das Team.
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Sa 29.12.07 19:56 
:zustimm:

_________________
Die Lösung ist nicht siebzehn.