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:
diesen gemacht:
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;
Delphi-Quellcode:
Der FileStream wird nur wo anders erstellt (in der StopRec) und fertig. :gruebel: Hm....
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; |
Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
Zitat:
|
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? |
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; |
Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
Zitat:
|
Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
Siehe Post #34
Kann mir keiner was dazu sagen? |
Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
Vielleicht solltest du das so anpassen:
Delphi-Quellcode:
function TForm1.StopRec: TFileStream;
|
Re: Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
:gruebel:
|
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. |
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 07:50 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