Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Fehler: Undefinierter Bezeichner! Wo liegt das Problem? (https://www.delphipraxis.net/134193-fehler-undefinierter-bezeichner-wo-liegt-das-problem.html)

AlexII 17. Mai 2009 15:51


Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Habe folgenden Code, der folgende Fehlermeldung erzeugt - "Undefinierter Bezeichner: StopRec"
Die procedure ist doch deklariert, wieso dann die Fehlermeldung? Wer kann mir weiter helfen? Danke!

Delphi-Quellcode:
  private
    { Private declarations }
    procedure StopRec;


procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall;
begin
  if (buffer <> nil) and (len = 0) then
    SendMessage(win, WM_INFO_UPDATE, 8, DWORD(PChar(buffer)));


  if (FileStream = nil) then
      StopRec; <-------
  if (buffer = nil) then
      FileStream.Free
   else
      FileStream.Write(buffer^, len);
end;

mkinzler 17. Mai 2009 15:54

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Codeausschnitt sieht komisch aus. Poste mal den Rest.

Muetze1 17. Mai 2009 15:54

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Man kann natürlich auch soviel kürzen, dass man gar nichts mehr sieht.

Aber meine Glaskugel behauptet: Du hast eine Methode und versuchst nun in einer Procedure die Methode aufzurufen, was natürlich nicht klappt.

Falls dir die Lösung nicht weiterhilft, informiere dich bitte über Procedure und Methoden und was der Unterschied zwischen diesen ist. Dann weisst du auch die Lösung deines Problems...

Desmulator 17. Mai 2009 15:55

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
[StopRec != StatusProc ?] Blödsinn.
Und poste mal bitte alles, sieht wirklich komisch aus.
Das private passt da nicht hin. Irgendwie, sieht so aus als wäre da kein Objekt.

AlexII 17. Mai 2009 15:56

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Zitat:

Zitat von mkinzler
Codeausschnitt sieht komisch aus. Poate mal den Rest.

Es gibt keinen Rest, so sieht die ganze procedure aus.

mkinzler 17. Mai 2009 15:58

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Nein wass davor kommt. Scheint ein Teil einer Klasse zu sein. dann fehlt aber das
Delphi-Quellcode:
end;
und die freie Prozedur danach, welche nicht Teil der Klasse zu sein scheint und deshalb die Methode nicht so aufgerufen werden kann

Luckie 17. Mai 2009 15:58

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Die Routine StopRec scheint eine methode einer Klasse zu sein, wen ich die ersten zwei zeilen richtig deute. Die Prozedur StatusProc ist aber keine Methode der Klasse, in der auch StopRec defeniert ist.


Zitat:

Zitat von AlexII
Es gibt keinen Rest, so sieht die ganze procedure aus.

Es muss einen Rest geben. Deine Codefetzen sind nicht annähernt kompilierbar.

Neutral General 17. Mai 2009 15:59

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
StopRec ist eine Methode und kann nur durch eine Instanz der Klasse oder in einer Methode der Klasse aufgerufen werden.

AlexII 17. Mai 2009 16:05

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Habe diesen Code hier im Forum gefunden:

Delphi-Quellcode:
procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall;
begin
  if (buffer <> nil) and (len = 0) then
    Form1.Label5.Caption := PChar(buffer); // display connection status


  if (FileNeme = '') then
    exit;
  if (FileStream = nil) then
      FileStream:= TFileStream.Create(FileNeme, fmCreate); // create the file
  if (buffer = nil) then
      FileStream.Free // finished downloading
   else
      FileStream.Write(buffer^, len);

end;
FileStream wollte ich in einer anderen procedure createn, deswegen anstatt " FileStream:= TFileStream.Create(FileNeme, fmCreate);" - StopRec

mkinzler 17. Mai 2009 16:07

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Dann übergib den Stream doch als weiterer Parameter oder mache aus der freien Prozedur eine Methode

AlexII 17. Mai 2009 16:08

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Zitat:

Zitat von mkinzler
Dann übergib den Stream doch als weiterer Parameter oder mache aus der freien Prozedur eine Methode

Wow :gruebel: wie geht das den?

mkinzler 17. Mai 2009 16:38

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Zitat:

Zitat von AlexII
Zitat:

Zitat von mkinzler
Dann übergib den Stream doch als weiterer Parameter oder mache aus der freien Prozedur eine Methode

Wow :gruebel: wie geht das den?

Delphi-Quellcode:
procedure StatusProc( FileStream: TFileStream; buffer: Pointer; len, user: DWORD); stdcall;

AlexII 17. Mai 2009 19:06

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Danke Dir :thumb:

AlexII 21. Mai 2009 11:15

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Aber die Fehlermeldung ist geblieben? :gruebel:

Vllt soll ich aus der freien Prozedur eine Methode machen, aber wie geht das? Wer kann mir helfen?

mkinzler 21. Mai 2009 11:18

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Delphi-Quellcode:
T<Klasse> = class(<Superklasse>)
private
    { Private declarations }
    procedure StopRec;
    { public Methods }
    procedure StatusProc(buffer: Pointer; len, user: DWORD);
   ...
end;
...

procedure T<Klasse>.StatusProc(buffer: Pointer; len, user: DWORD);
...

Gausi 21. Mai 2009 14:01

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Wenn StopRec eine Methode einer Klasse ist, warum nicht einfach
Delphi-Quellcode:
MeinePlayerKlasseVariable.StopRec;
aufrufen?

Parameter und Art von Statusproc ändern mag wahrscheinlich die Bass.dll nicht, um die es hier geht.

AlexII 31. Mai 2009 09:52

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Gausi wie meinst du das, ich hab ja keinen Player im Programm? :gruebel:

Die Muhkuh 31. Mai 2009 11:09

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Im Moment liegt hier noch ein Designproblem vor.

Wie schon geschrieben wurde, mach aus der Prozedur erstmal eine Methode, Markus zeigte zwei Posts davor, wie es funktioniert.

Wenn dann mal alles in einer Klasse ist, sehen wir weiter.

Bruchteilhafte Lösungen bringen in diesem Fall nicht viel, denn das was Gausi vorschlägt, geht erst, wenn das Designproblem behoben ist, ansonsten kann das nicht wirklich funktionieren.

AlexII 31. Mai 2009 11:17

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Gausi schreibt ja, dass die Bass.dll die Änderung nicht mag, deswegen dachte ich seine Lösung ist ohne Procedureänderung.

Na gut, ich versuch's.

Gausi 31. Mai 2009 12:40

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
In deinem Codeauschnitt weiter oben steht StopRec direkt unter private. Das lässt mich vermuten, dass StopRec eine private Methode einer Klasse ist. Da, wo ich sowas verwende, ist diese Klasse eine Player-Klasse, daher habe ich was von "MeinePlayerKlasseVariable" geschrieben. Ich würde jetzt vermuten, dass die Klasse mit der Methode StopRec deine Formklasse ist (also TForm1 oder so). Dann musst du halt
Delphi-Quellcode:
// MeinePlayerKlasseVariable.StopRec; // so nicht
Form1.StopRec; // sondern so
aufrufen. StatusProc selbst sollte nicht als Methode einer Klasse implementiert werden, da das Ding von der Bass.dll als Callback-Routine aufgerufen wird.

AlexII 31. Mai 2009 18:28

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Hab das jetzt so gemacht, aber irgendwie stürzt das Prog ab... :gruebel:

Delphi-Quellcode:
  private
    { Private declarations }
    procedure StopRec;


procedure TForm1.StopRec;
var
  Root, CCRDir, ChannelDir, FileName : String;
begin
  Root:=GetSpecialFolderForMP3(Handle, CSIDL_PERSONAL);
  CCRDir:='CCRadio Recordings';
  ChannelDir:=Label4.Caption;
  FileName:=FormatDateTime('dd.mm.yy', date) + ' - ' + FormatDateTime('hh.nn.ss', time) + '.mp3';

  ChannelDir:=StringReplace(ChannelDir, '\', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '/', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, ':', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '*', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '?', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '"', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '<', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '>', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '|', ' ', [rfReplaceAll]);

  if DirectoryExists(Root + '\' + CCRDir) then
  begin
       if DirectoryExists(Root + '\' + CCRDir + '\' + ChannelDir) then
       begin
       TFileStream.Create(Root + '\' + CCRDir + '\' + ChannelDir + '\' + FileName, fmCreate);
       end else if (not CreateDir(Root + '\' + CCRDir + '\' + ChannelDir)) then
                begin
                SaveDialog1.FileName:=FileName;
                if SaveDialog1.Execute then //WaveStream.SaveToFile(SaveDialog1.FileName);
                end else
                    begin
                    CreateDir(Root + '\' + CCRDir + '\' + ChannelDir);
                    TFileStream.Create(Root + '\' + CCRDir + '\' + ChannelDir + '\' + FileName, fmCreate);
                    end;
  end else if (not CreateDir(Root + '\' + CCRDir)) then
           begin
           SaveDialog1.FileName:=FileName;
           if SaveDialog1.Execute then //WaveStream.SaveToFile(SaveDialog1.FileName);
           end else
               begin
               CreateDir(Root + '\' + CCRDir);
                   if DirectoryExists(Root + '\' + CCRDir + '\' + ChannelDir) then
                   begin
                   TFileStream.Create(Root + '\' + CCRDir + '\' + ChannelDir + '\' + FileName, fmCreate);
                   end else if (not CreateDir(Root + '\' + CCRDir + '\' + ChannelDir)) then
                            begin
                            SaveDialog1.FileName:=FileName;
                            if SaveDialog1.Execute then //WaveStream.SaveToFile(SaveDialog1.FileName);
                            end else
                                begin
                                CreateDir(Root + '\' + CCRDir + '\' + ChannelDir);
                                TFileStream.Create(Root + '\' + CCRDir + '\' + ChannelDir + '\' + FileName, fmCreate);
                                end;
               end;
  //RecordStatus:=False;
end;


procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall;
begin
  if (buffer <> nil) and (len = 0) then
    SendMessage(win, WM_INFO_UPDATE, 8, DWORD(PChar(buffer)));


  if (FileStream = nil) and RecordStatus=True then
      Form1.StopRec;
  if (buffer = nil) then
      FileStream.Free // finished downloading
   else
      FileStream.Write(buffer^, len);
end;

mkinzler 31. Mai 2009 18:32

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Was heist abstürzen? es gibt sicherlich auch eine Fehlermeldung!

Warum postest du immer nur Codefragmente, die immer weitere Fragen offenlassen. Ist die Definition am Anfang, die der Klasse TForm1?

AlexII 31. Mai 2009 18:42

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das ist der ganze Code der die Aufnahme betrifft...
Die Fehlermeldung am Anhang.

mkinzler 31. Mai 2009 18:46

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Zitat:

Das ist der ganze Code der die Aufnahme betrifft...
Nein, die Klassendeklaration ist nicht vollständig!

Debugge dein Programm einmal, dann siehst du, in welcher Zeile der Fehler auftritt.

Der Fehler weist auf den Zugriff auf ein nicht instantiiertes Objekt hin ( 0 = nil)

Gausi 31. Mai 2009 18:46

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Ich würde einfach tippen, dass das Programm durch das DirectoryExists-Gewusel nicht durchblickt und deshalb den FileStream nicht erzeugt, in den später was geschrieben wird. :stupid: Probier mal, den Code mit ForceDirectories aufzuräumen.

Außerdem: es muss heißen

Delphi-Quellcode:
Filestream := TFileStream.Create( .... );
Stürzt das Programm ab, oder bricht die Compilierung ab? Denn die Fehlermeldung am Anfang ist doch eine Compiler-Fehlermeldung, oder nicht? Edit: Anhang nicht gesehen.

AlexII 31. Mai 2009 18:48

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Verzeih, hab mich falsch ausgedruckt, das Prog startet ohne Fehler, es stürzt beim Play eines Senders, wärend es mit ihm connectet wird.

AlexII 31. Mai 2009 18:53

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Zitat:

Zitat von Gausi
Probier mal, den Code mit ForceDirectories aufzuräumen.

Da ist ja alles sauber, oder? :gruebel: Weiß nicht was da aufzuräumen ist. :?: Außerdem die "Directories" funktionieren, hab getestet.

mkinzler 31. Mai 2009 18:58

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Zitat:

Debugge dein Programm einmal, dann siehst du, in welcher Zeile der Fehler auftritt.

AlexII 31. Mai 2009 18:59

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Hier

Delphi-Quellcode:
chan := BASS_StreamCreateURL(url, 0, BASS_STREAM_STATUS, @StatusProc, 0);
Pardon, werde mich ab jetzt besser und ausführlicher ausdrücken. :)

Gausi 31. Mai 2009 19:05

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Ich wüsste nicht, dass so ein Aufruf der bass.dll-Funktion eine Exception wirft.

Überleg doch mal, was du da machst. Erst wenn die Aufnahme gestoppt wird, erzeugst du den Filestream, in den du während der Aufnahme reinschreibst. Das kann doch gar nicht funktionieren. Von der fehlerhaften Erzeugung bzw. fehlenden Zuweisung an die Variable FileStream mal abgesehen.

AlexII 31. Mai 2009 19:15

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Ich hab diesen Code hier aus dem Forum, ich ging davon aus, der ist richtig, hab nur aus diesem:


Delphi-Quellcode:
procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall;
begin
  if (buffer <> nil) and (len = 0) then
    Form1.Label5.Caption := PChar(buffer); // display connection status


  if (FileNeme = '') then
    exit;
  if (FileStream = nil) then
      FileStream:= TFileStream.Create(FileNeme, fmCreate); // create the file
  if (buffer = nil) then
      FileStream.Free // finished downloading
   else
      FileStream.Write(buffer^, len);

end;
diesen gemacht:

Delphi-Quellcode:
procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall;
begin
  if (buffer <> nil) and (len = 0) then
    SendMessage(win, WM_INFO_UPDATE, 8, DWORD(PChar(buffer)));


  if (FileStream = nil) and RecordStatus=True then
      Form1.StopRec;
  if (buffer = nil) then
      FileStream.Free // finished downloading
   else
      FileStream.Write(buffer^, len);
end;
Der FileStream wird nur wo anders erstellt (in der StopRec) und fertig. :gruebel: Hm....

AlexII 1. Jun 2009 12:00

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Zitat:

Zitat von Gausi
Überleg doch mal, was du da machst. Erst wenn die Aufnahme gestoppt wird, erzeugst du den Filestream, in den du während der Aufnahme reinschreibst. Das kann doch gar nicht funktionieren. Von der fehlerhaften Erzeugung bzw. fehlenden Zuweisung an die Variable FileStream mal abgesehen.

Wo wird denn die Aufnahme gestoppt? :gruebel:

Gausi 1. Jun 2009 12:16

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Weiß ich nicht, aber wenn eine Prozedur StopRec heißt, würde ich annehmen, dass die was mit dem Stoppen der Aufnahme zu tun hat. Wenn du die ausführst, wenn die Aufnahme gestartet wird, ist das natürlich auch ok. ;-)

Hast du dort mittlerweile das/die "FileStream := " eingefügt?

AlexII 1. Jun 2009 12:20

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Hab die Aufnahme soweit fertig, es wird aber nicht auf nen Knopfdruck aufgenommen, sondern sofort wenn ein Sender abgespielt wird. Hat jemand eine Idee wie ich die Aufnahme mit einem Knopfdruck starte und stoppe? :gruebel:

Delphi-Quellcode:
  private
    { Private declarations }
    procedure StopRec;


procedure TForm1.StopRec;
var
  Root, CCRDir, ChannelDir, FileName : String;
begin
  Root:=GetSpecialFolderForMP3(Handle, CSIDL_PERSONAL);
  CCRDir:='CCRadio Recordings';
  ChannelDir:=Label4.Caption;
  //FileName:='my.mp3';
  FileName:=FormatDateTime('dd.mm.yy', date) + ' - ' + FormatDateTime('hh.nn.ss', time) + '.mp3';

  ChannelDir:=StringReplace(ChannelDir, '\', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '/', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, ':', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '*', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '?', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '"', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '<', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '>', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '|', ' ', [rfReplaceAll]);
  ChannelDir:=StringReplace(ChannelDir, '.', '', [rfReplaceAll]);

  if DirectoryExists(Root + '\' + CCRDir) then
  begin
       if DirectoryExists(Root + '\' + CCRDir + '\' + ChannelDir) then
       begin
       //showmessage(Root + '\' + CCRDir + '\' + ChannelDir);
       Filestream:=TFileStream.Create(Root + '\' + CCRDir + '\' + ChannelDir + '\' + FileName, fmCreate);
       end else if (not CreateDir(Root + '\' + CCRDir + '\' + ChannelDir)) then
                begin
                SaveDialog1.FileName:=FileName;
                if SaveDialog1.Execute then //WaveStream.SaveToFile(SaveDialog1.FileName);
                end else
                    begin
                    CreateDir(Root + '\' + CCRDir + '\' + ChannelDir);
                    Filestream:=TFileStream.Create(Root + '\' + CCRDir + '\' + ChannelDir + '\' + FileName, fmCreate);
                    end;
  end else if (not CreateDir(Root + '\' + CCRDir)) then
           begin
           SaveDialog1.FileName:=FileName;
           if SaveDialog1.Execute then //WaveStream.SaveToFile(SaveDialog1.FileName);
           end else
               begin
               CreateDir(Root + '\' + CCRDir);
                   if DirectoryExists(Root + '\' + CCRDir + '\' + ChannelDir) then
                   begin
                   Filestream:=TFileStream.Create(Root + '\' + CCRDir + '\' + ChannelDir + '\' + FileName, fmCreate);
                   end else if (not CreateDir(Root + '\' + CCRDir + '\' + ChannelDir)) then
                            begin
                            SaveDialog1.FileName:=FileName;
                            if SaveDialog1.Execute then //WaveStream.SaveToFile(SaveDialog1.FileName);
                            end else
                                begin
                                CreateDir(Root + '\' + CCRDir + '\' + ChannelDir);
                                Filestream:=TFileStream.Create(Root + '\' + CCRDir + '\' + ChannelDir + '\' + FileName, fmCreate);
                                end;
               end;
  //RecordStatus:=False;
end;


procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall;
begin
  if (buffer <> nil) and (len = 0) then
    SendMessage(win, WM_INFO_UPDATE, 8, DWORD(PChar(buffer)));


  if (FileStream = nil) then
      Form1.StopRec;
  if (buffer = nil) then
      FileStream.Free // finished downloading
   else
      FileStream.Write(buffer^, len);
end;

AlexII 1. Jun 2009 12:25

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Zitat:

Zitat von Gausi
Weiß ich nicht, aber wenn eine Prozedur StopRec heißt, würde ich annehmen, dass die was mit dem Stoppen der Aufnahme zu tun hat. Wenn du die ausführst, wenn die Aufnahme gestartet wird, ist das natürlich auch ok. ;-)

Hast du dort mittlerweile das/die "FileStream := " eingefügt?

Ja die Prozedure heißt nicht passend, muss mal umbennenen. Ja hab ich eingefügt. :thumb:

AlexII 2. Jun 2009 20:45

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Siehe Post #34

Kann mir keiner was dazu sagen?

mkinzler 2. Jun 2009 21:00

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Vielleicht solltest du das so anpassen:
Delphi-Quellcode:
function TForm1.StopRec: TFileStream;

AlexII 2. Jun 2009 21:01

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
:gruebel:

mkinzler 2. Jun 2009 21:08

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Du vermischst immer wieder freie Prozeduren/Funktionen mit Methoden, hantierst auf Variabeln, welche du im unheimlich geheimen Teil, den du uns weiterhin unterschlägst ( vollständige Klassendeklaration).
Zudem schinst du noch weitere Do-Nots zu fröhnen wie globale Variablen, zumidest greifst du ständig auf Variablen zu, die weder lokale sind noch im rudimentären Klassenkopf sichtbar sind; da du auf diese auch in der freien Prozedur zugreifst vermute ich mal das diese global sind.

AlexII 2. Jun 2009 21:13

Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
 
Ich bin Hobby-Programmierer, verzeih hab dein Post überhaupt nicht verstanden. :pale: :roteyes: :cry:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr.
Seite 1 von 2  1 2      

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