![]() |
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; |
Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
Codeausschnitt sieht komisch aus. Poste mal den Rest.
|
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... |
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. |
Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
Zitat:
|
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:
und die freie Prozedur danach, welche nicht Teil der Klasse zu sein scheint und deshalb die Methode nicht so aufgerufen werden kann
end;
|
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:
|
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.
|
Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
Habe diesen Code hier im Forum gefunden:
Delphi-Quellcode:
FileStream wollte ich in einer anderen procedure createn, deswegen anstatt " FileStream:= TFileStream.Create(FileNeme, fmCreate);" - StopRec
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; |
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 22:09 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