Witam! (przeszukalem forum i nie znalazlem informacji dla mnie need)
Problem jest taki:
Przypisalem pliki *.tst do mojego programu:
procedure TMainFrm.FormShow(Sender: TObject);
begin
if ParamCount > 0 then begin
Zapis := False;
ClearAll;
OpenDialog1.FileName := ParamStr(1);
LoadTest(OpenDialog1.FileName);
end;
end;
procedure TSettFrm.CheckBox4Click(Sender: TObject);
begin
if CheckBox4.Checked then begin
Reg := Tregistry.Create;
try
try
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey('.tst', True);
Reg.WriteString('', 'TSTFile');
Reg.CloseKey;
Reg.OpenKey('TSTFile', True);
Reg.WriteString('', 'Plik z Testem programu EnEdytor');
Reg.CloseKey;
Reg.OpenKey('TSTFile\DefaultIcon', True);
Reg.WriteString('', Application.ExeName + ',2');
Reg.CloseKey;
Reg.OpenKey('TSTFile\shell\open\command', True);
Reg.WriteString('', '"' + Application.ExeName + '" "%1"');
Reg.CloseKey;
except raise
Exception.Create('Błąd! Nie można dokonać zapisu do rejestru.');
end;
finally
Reg.Free;
end;
end else begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.DeleteKey('.tst');
Reg.DeleteKey('TSTFile');
finally
Reg.Free;
end;
end;
end;
To działa ładnie, ale ... mam "zabezpieczenie" przez ponownym uruchomieniem programu.
I co musze dopisac, aby jak klikne ponownie jakis plik *.tst to nie uruchomi mi nowej kopii programu tylko odpali ten plik w programie wczesniej uruchomionym...
Dzieki za odp. [green]
btw: czytalem >> http://4programmers.net/faq.php?id=309 << ale mi to nie dziala, jakos nie moge tego zrobic :(
<font color="#DBDBDB"><font size="1">Nie wiem, czy słusznie postąpiłem przenosząc tego posta z działu Newbie? Ale może tutaj uzyskam odpowiedz, gdyż jest to mi bardzo potrzebne... THX za pomoc</span></span>