У программы два варианта использования:
1) запуск .exe (ярлык, меню "Пуск" и т.д.) далее все как обычно
2) запуск из контекстного меню Проводника, ParamStr(1) - имя файла, тут нужно выполнить действия и закрыть программу
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
CurDir:=ExtractFilePath(Application.ExeName);
VewHist:=TStringList.Create;
if FileExists(CurDir+'\list.txt') then VewHist.LoadFromFile(CurDir+'\list.txt');
If ParamStr(1)<>'' then
begin
Application.ShowMainForm:=False;
VewHist.Insert(0,ParamStr(1));
// Здесь надо закрыть программу
end;
{Дальше выполняем если параметр пустой}
----------------------------
end;
Close - не закрывает программу, остается в диспетчере задач, Halt, Application.Terminate - не дают выполнить нужные действия.
Извиняюсь ошибка совсем в другом месте: VewHist.SaveToFile(CurDir+'\list.txt');
Application.Terminate вполне справляется.