PDA

View Full Version : Restart Program



rahele_sa
پنج شنبه 25 خرداد 1385, 10:54 صبح
چه جوری میشه خود برنامه را بست و دوباره اجرا کرد

ghabil
پنج شنبه 25 خرداد 1385, 16:19 عصر
راه خیلی سرراستی نداره ، معمولا یک Agent مینویسند که اون همیشه هست و دوباره برنامه رو ران میکنه ، ولی یک راه دیگش اینه که برنامت قبل از بسته شدن یک تسک در ویندوز اسکجول بکنه که مثلا زمانش 5 ثانیه بعد باشه و کارش این باشه که دوباره برنامت رو ران بکنه ، APIی که لازمه برای Task Schaduling رو از تو MSDN پیدا کن ...

حالا جدای از اینا برای چی میخوای برنامت رو ببندی دوباره باز کنی ؟ مشکلت رو بگو به احتمال خیلی زیاد راه حل درست تری داره

rahele_sa
پنج شنبه 25 خرداد 1385, 17:23 عصر
20 دقیقه از اجرای برنامه گذشته

برنامه برای بارگذاری بعضی اطلاعات مجبور است دوباره خود را اجرا کند

ghabil
پنج شنبه 25 خرداد 1385, 17:27 عصر
خب توی Restart کردن پروژه چه اتفاقی می افته که نمیشه بدون restart کردن همون کارها رو کرد ؟

Mahmood_M
جمعه 26 خرداد 1385, 02:52 صبح
سلام ...
می تونید یه Action List روی فرم بزارید و اکشن TFileRun رو از توش انتخاب کنید و در هنگام خروج از برنامه به خاصیت FileName اون نام برنامه خودتون رو بدید و بعد اون رو اجرا کنید :

ّFileRun1.Execute;
من خودم قبلا این کار رو کردم و جواب داده ...
موفق باشید ...

rahele_sa
جمعه 26 خرداد 1385, 10:09 صبح
میشه یک مثال عملی برام بزارید

من با ActionList ها زیاد آشنایی ندارم

Mahyaa
جمعه 26 خرداد 1385, 14:20 عصر
من این کار رو کردم :


uses ShellApi;

procedure AppRestart;
var AppName : PChar;
begin
AppName := PChar(Application.ExeName) ;
ShellExecute(Handle,'open', AppName, nil, nil, SW_SHOWNORMAL) ;
Application.Terminate;
end;

joker
جمعه 26 خرداد 1385, 15:49 عصر
و اینجوری هم میشه :


WinExec(pchar(ParamStr(0)),SW_SHOWNORMAL);
Application.Terminate;

ghabil
جمعه 26 خرداد 1385, 16:13 عصر
البته این راه هایی که شما دوستان گفتید احتمالا کار این دوستمون رو راه میندازند ولی اینطوری نیستند که اول برنامه بسته بشه بعد دوباره اجرا بشه ،اول یک نسخه ران میکنید بعد برنامه رو میبندید که مثلا اگر غرض از این کار قرار دادن Resource خاصی در اختیار سیستم عامل باشه که برنامه گرفته، این اتفاق نخواهد افتاد ...
ولی بازهم تاکید میکنم احتمال زیاد همین روش کار دوستمون رو راه خواهد انداخت