Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie wichtig ist FREE? (https://www.delphipraxis.net/127495-wie-wichtig-ist-free.html)

cyanroot 14. Jan 2009 14:09


Wie wichtig ist FREE?
 
Hallo,

ich wollte fragen, wie wichtig es ist, ein Textdokument in einer Memo nach dem Speichern mit free zu lösen? Braucht man das wenn 2 Leute gleichzeitig auf das Dokument speichernd zugreifen?

Danke.

DeddyH 14. Jan 2009 14:11

Re: Wie wichtig ist FREE?
 
Das Free hat nichts mit dem Speichern einer Datei zu tun, sondern mit dem Freigeben des für das Objekt angeforderten Speichers.

cyanroot 14. Jan 2009 14:12

Re: Wie wichtig ist FREE?
 
Und wann genau braucht man das?

Sir Rufo 14. Jan 2009 14:15

Re: Wie wichtig ist FREE?
 
Wenn du das Objekt nicht mehr benötigst.

Ist wie zu Hause mit dem Aufräumen ... man kann aber man muss nicht, allerdings hat es Vorteile ;)

Nicht Aufräumen -> kann zum Chaos führen (Messie)
Nicht FREE -> kann zum Speicherüberlauf führen

DeddyH 14. Jan 2009 14:17

Re: Wie wichtig ist FREE?
 
Du solltest angeforderten Speicher sobald wie möglich wieder freigeben. Ein Beispiel:
Delphi-Quellcode:
procedure TFormWuppdi.Tuwas;
var aList: TStringList;
begin
  aList := TStringList.Create;
  try
    //mach was mit der Liste
  finally
    aList.Free; //Liste auf jeden Fall freigeben
  end;
  //weiterer Code, bei dem die Liste nicht gebraucht wird
end;

cyanroot 14. Jan 2009 14:18

Re: Wie wichtig ist FREE?
 
Macht das SInn, wenn auf diese Datei alle 2 Minuten zugegriffen wird? Sollta man sie dann trotzdem immer Freigeben?

Weazy 14. Jan 2009 14:23

Re: Wie wichtig ist FREE?
 
Solange das Objekt benötigt wird muss du es nicht immer wieder freigeben und neu erzeugen. Du musst allerdings sicher sein das Objekt irgendwann wieder freigegeben wird! Wenn du z.B eine StringListe hast die du immer wieder brauchst könntest du sie beim starten des programmes erzeugen und erst am ende wieder freigeben. Vielleicht ne dämliche Frage, aber wenn ich ein programm mit dem taskmanager abschiesse wird der speicher aller objekte dieses programmes doch freigegeben?

Sir Rufo 14. Jan 2009 14:24

Re: Wie wichtig ist FREE?
 
Primär benötigst du erstmal etwas um diese konkurrierenden Schreibzugriffe zu steuern ... !

Um in eine Textdatei etwas zu speichern verfährst du am besten so:
Delphi-Quellcode:
var
  MeineDatei : Text;
begin
  AssignFile( MeineDatei, 'C:\Daten\MeineDatei.txt' );
  AppendFile( MeineDatei );
  WriteLn( MeineDatei, 'Ich will auch mal' );
  CloseFile( MeineDatei );
end;
Bei so einem Zugriff habe ich nix mit einem Objekt zu tun, also auch nix mit FREE am Hut.
Hier wird jetzt die Datei zum Anhängen geöffnet und nach dem Schreiben sofort wieder geschlossen.

Was noch nicht passiert, ist die Abfrage, ob auf diese Datei überhaupt schreibend zugegriffen werden kann, dieses müsstest du noch einbauen. Wie man das macht, findest du eigentlich auch hier im Forum.

cu

Oliver

Sir Rufo 14. Jan 2009 14:25

Re: Wie wichtig ist FREE?
 
Zitat:

Zitat von Weazy
Vielleicht ne dämliche Frage, aber wenn ich ein programm mit dem taskmanager abschiesse wird der speicher aller objekte dieses programmes doch freigegeben?

Ja, sollte eigentlich passieren und passiert wohl auch zu 99%. Wenn ich das machen muss, dann hat aber das Programm verm. eine Macke und sollte daraufhin korrigiert werden, dann brauche ich auch nix mehr abschießen ;)

cu

Oliver

taaktaak 14. Jan 2009 14:29

Re: Wie wichtig ist FREE?
 
ääähhhhhh (verwirrt) -
kann es sein, dass das "file", das bei "append" zu viel ist, bei "text" fehlt??


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.
Seite 1 von 2  1 2      

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