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;