Delphi-PRAXiS
Seite 1 von 6  1 23     Letzte »    

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 Uhr.
Seite 1 von 6  1 23     Letzte »    

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