Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 16. Mai 2003, 21:57
Moin dopeline,

wenn Dein Programm auf Grund eines Doppelclicks auf eine mit Deinem Programm verknüpfte Datei gestartet wird, könntest Du das z.b. im OnCreate des Hauptformulares verarbeiten.
Beispiel:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  if paramcount > 0 then
  begin
    // z.B. übergebenen Datei in ein Memo laden
    // oder was auch sonst mit der Datei geschehen soll.
    Memo1.Lines.LoadFromFile(paramstr(1));
  end;
end;
Mit dem Open/Close verhält es sich so:
Bei jedem Öffnen eines Keys werden Systemresourcen (in diesem Falle ein Handle) belegt. Dieses muss auch wieder freigegeben werden.
Der Grundsätzliche Ablauf wäre dann:

Delphi-Quellcode:
  // Resource belegen
try
  // mit der Resource arbeiten
finally
  // Resource freigeben
end;
try/finally wird auch als Resourcenschutzblock bezeichnet, da, egal was zwischen try und finally passiert passiert (z.B. auch eine Exception), der Code zwischen finally und end in jedem Falle ausgeführt wird.
Man kann z.b. auf diesem Wege auch bequem die Routine mit exit verlassen, und hat trotzdem sichergestellt, dass die Resourcen wieder freigegeben werden.

Konkret:

Delphi-Quellcode:
var
  R : TRegistry;

begin
  R := TRegistry.Create;
  try
    if R.OpenKey('Welcher Key auch immer',true) then
    begin
      try
        // mach was mit dem geöffneten Key
      finally
        R.CloseKey;
      end;
    end;
  finally
    FreeAndNil(R);
  end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat