Einzelnen Beitrag anzeigen

Benutzerbild von Gausi
Gausi
Online

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#52

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

  Alt 3. Jun 2009, 10:18
StatusProc bekommt ja die Daten zum Speichern. Je nachdem, was der User durch vorheriges Knöpfchendrücken gewünscht hat, sollen die Daten gespeichert oder verworfen werden. Also:
Delphi-Quellcode:
procedure StatusProc(buffer: Pointer; len, user: DWORD); stdcall;
begin
  // Ok, bass.dll hat neue Titel-Informationen bekommen
  // das sollte man wohl immer machen
  if (buffer <> nil) and (len = 0) then
      SendMessage(win, WM_INFO_UPDATE, 8, DWORD(PChar(buffer)))
  else
  begin
    // Daten zum Aufnehmen angekommen
    If UserWillAufnehmen then
    begin
      // Sicherheitsabfrage - ist ein FileStream vorhanden,um die Daten zu speichern?
      if assigned(FileStream) then
      begin
        if (buffer = nil) then
          FreeAndNil(FileStream); // Aufnahme beenden
        else
          FileStream.Write(buffer^, len); // Daten speichern
      end;
    end else
      // nichts machen, user will nicht aufnehmen.
  end;
end;
Das Erzeugen des FileStreams würde ich beim ButtonClick machen, also so:
Delphi-Quellcode:
procedure TForm1.ButtonStartAufnahmeClick(Sender: TObject);
begin
  UserWillAufnehmen := True;
  FileStream := TFileStream.Create ... // usw., Zeug aus der StopRec
end;
Und beim Stoppen dann in etwa sowas:
Delphi-Quellcode:
procedure TForm1.ButtonStoppAufnahmeClick(Sender: TObject);
begin
  UserWillAufnehmen := False;
  FreeAndNil(FileStream);
end;
The angels have the phone box.
  Mit Zitat antworten Zitat