AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Fehler: Undefinierter Bezeichner! Wo liegt das Problem?
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler: Undefinierter Bezeichner! Wo liegt das Problem?

Ein Thema von AlexII · begonnen am 17. Mai 2009 · letzter Beitrag vom 3. Jun 2009
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#21

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

  Alt 31. Mai 2009, 19:28
Hab das jetzt so gemacht, aber irgendwie stürzt das Prog ab...

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;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#22

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

  Alt 31. Mai 2009, 19:32
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?
Markus Kinzler
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#23

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

  Alt 31. Mai 2009, 19:42
Das ist der ganze Code der die Aufnahme betrifft...
Die Fehlermeldung am Anhang.
Miniaturansicht angehängter Grafiken
fehlermeldung_702.jpg  
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#24

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

  Alt 31. Mai 2009, 19:46
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)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#25

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

  Alt 31. Mai 2009, 19:46
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. Probier mal, den Code mit ForceDirectories aufzuräumen.

Außerdem: es muss heißen

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.
The angels have the phone box.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#26

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

  Alt 31. Mai 2009, 19:48
Verzeih, hab mich falsch ausgedruckt, das Prog startet ohne Fehler, es stürzt beim Play eines Senders, wärend es mit ihm connectet wird.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#27

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

  Alt 31. Mai 2009, 19:53
Zitat von Gausi:
Probier mal, den Code mit ForceDirectories aufzuräumen.
Da ist ja alles sauber, oder? Weiß nicht was da aufzuräumen ist. Außerdem die "Directories" funktionieren, hab getestet.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#28

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

  Alt 31. Mai 2009, 19:58
Zitat:
Debugge dein Programm einmal, dann siehst du, in welcher Zeile der Fehler auftritt.
Markus Kinzler
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#29

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

  Alt 31. Mai 2009, 19:59
Hier

chan := BASS_StreamCreateURL(url, 0, BASS_STREAM_STATUS, @StatusProc, 0); Pardon, werde mich ab jetzt besser und ausführlicher ausdrücken.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
880 Beiträge
 
Delphi 11 Alexandria
 
#30

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

  Alt 31. Mai 2009, 20:05
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.
The angels have the phone box.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 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