Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Savetofile Problem (https://www.delphipraxis.net/151456-savetofile-problem.html)

himitsu 19. Mai 2010 07:33

Re: Savetofile Problem
 
Abgesehn davon, wird nicht umsonst ständig darauf hingewiesen, daß keine Leeren verwendet werden sollen, denn so bekommt ja keiner den Grund für einen Fehler mit,
bzw, es fällt im fertigen Programm nichtmal auf, daß überhaupt ein Fehler auftritt und man wundert sich nur, daß irgendwas fehlt.


Delphi-Quellcode:
try
   ...
except
  {nix}
end;
oder Dergleichen,
Delphi-Quellcode:
try
   ...
except
  Result := False;
end;
wo die Fehlermeldung einfach so ignoriert wird.



Und welchen Wert hat "pfad"?

Zitat:

Zitat von mkinzler
Sollte wohl eher ... heissen

Könnte auch ganz entfallen, da ForceDirectories dieses intern auch prüft.

ForceDirectories = prüfe nach, ob Verzeichnis existiert und wenn nicht, dann erstelle es

Luckie 19. Mai 2010 07:35

Re: Savetofile Problem
 
@himitsu: Ich kaufe ein "E" und will lösen "Exceptions". :mrgreen:

DMonkey 19. Mai 2010 13:06

Re: Savetofile Problem
 
naja das problem ist das er es nicht speichern KANN weil das noch geöffnet ist und ich will wissen,wie ich meinem programm sage,dass es nach dem speichern die datei in rughe lassen soll.

Luckie 19. Mai 2010 13:17

Re: Savetofile Problem
 
Dann gib doch die Stringliste nach dem Speichern mal frei, wie ich gesagt habe, und guck, was passiert.

DMonkey 19. Mai 2010 13:24

Re: Savetofile Problem
 
Funktioniert Nicht,denn er kann die datei immernoch nicht reinladen

himitsu 19. Mai 2010 13:29

Re: Savetofile Problem
 
Wie gesagt, an dem SaveToFile sollte es nicht liegen.

Delphi-Quellcode:
procedure TStrings.SaveToFile(const FileName: string; Encoding: TEncoding);
var
  Stream: TStream;
begin
  Stream := TFileStream.Create(FileName, fmCreate); // Dateihandle erstellen
  try
    SaveToStream(Stream, Encoding);
  finally
    Stream.Free; // und hier wird das Dateihandle wieder freigegeben
  end;
end;
Gleiches bei LoadFromFile, also liegt es nicht an den beiden Methoden,
und du solltest den Fehler auch mal an anderer Stelle suchen.
(unter Umständen kann dieses auch der Virenscanner sein)

Luckie 19. Mai 2010 13:34

Re: Savetofile Problem
 
Boah, ich habe keine Ahnung, was du da mit der Stringliste machst:

Delphi-Quellcode:
procedure Save(Text: string; Filename: string);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    try
      sl.Text := Text;
      sl.Lines.SaveToFile(Filename);
    except
      on E: Exception do
        raise E.Create(E.Message);
    end;
  finally
    sl.Free
  end;
end;

function Load(Filename: string): string;
var
  sl: TStringLList;
begin
  sl := TStringList.Create;
  try
    try
      sl.Lines.LoadFromFile(Filename);
     Result := sl.Text;
    except
      on E: Exception do
      raise E.Create(E.Message);
    end;
  finally
    sl.Free;
  end;
end;

// Aufruf speichern
try
  Save(Memo1.Text, 'C:\foo\bar.cfg');
except
  on E: Exception do
    ShowMessage(E.Message);
end;

// Aufruf laden
try
  Memo1.Text := Load('C:\foo\bar.cfg');
except
  on E:Exception do
    ShowMessage(E.Message);
end;
Es könnten noch kleinere Fehler drin sein. Habe das nur mal eben in Notepad runtergetippt.

DMonkey 19. Mai 2010 13:57

Re: Savetofile Problem
 
ich denke das problem kommet weil ich auf den text noch zugreife,indem ich ihn anderen komponenten als eigenschaft zuweise.könnte das sein?

Luckie 19. Mai 2010 14:00

Re: Savetofile Problem
 
Eigentlich nicht. Es geht ja um die Datei und die wird von den Texteigenschaften der anderen Komponenten ja nicht blockiert. Greift eventuell noch ein anderer Prozess auf die Datei zu?

DMonkey 19. Mai 2010 14:03

Re: Savetofile Problem
 
ne,das wundert mich generell das das nicht geht,denn ioch mache sowas oft,aber gibt es eine andere möglichkeit text abzuspeichern als mit tstringlist oder memo?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr.
Seite 2 von 4     12 34      

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