الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أحتاج إلى كود من أجل إعادة تشغيل برنامجي

بدأه أحمد أبو عبد البر في 8 أبريل 2012 · 2 رد · 581 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

أرجو ممن له علم بالبرمجة في لغة الباسكال أن يكتب لي كود إعادة تشغيل البرنامج ويكون موافقا لبيئة التطوير lazarus

وجدت هذا الكود في إحدى المنتديات الأجنبية

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

ولكن هذا الكود لم يعمل معي لأن لازاريس لا يحتوي هذه الوحدة

جزاكم الله خيرا

تم تعديل هذه المشاركة بواسطة linuxman في 8 أبريل 2012 في 13:39

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

#2

السلام عليكم ورحمة الله

يعمل على FPC/Lazarus لكن على بيئة windows فقط

لذلك أضف المكتبة windows ضمن uses.

function SelfRestart: Boolean;
var
 pInfo: TProcessInformation;
 sInfo: TStartupInfo;
begin
  ZeroMemory(@sInfo, SizeOf(sInfo));
  sInfo.cb := SizeOf(sInfo);
  Result := CreateProcess(PChar(Application.ExeName), nil,
                nil, nil, False, NORMAL_PRIORITY_CLASS,
                nil, nil, sInfo, pInfo);
  CloseHandle(pInfo.hProcess);
  CloseHandle(pInfo.hThread);
  if Result then
     Application.Terminate;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SelfRestart;
end;

بالتوفيق.

#3

الحمد لله لقد وجدت الكود وهذا هو

procedure TFm.BitBtn3Click(Sender: TObject);
Var Processus : TProcess;
Begin
(* Création du processus *)
Processus := TProcess.Create(Nil);
(* Définition de la commande à exécuter *)
Processus.CommandLine := '/home/linuxman/programs/faraidh/faraidh';
(* Tout est prêt pour l'exécution *)
Processus.Execute;
(* Libération du processus *)
Application.Terminate;
end;

ولا ننسى في الإعلانات أن نضع

uses process;

تم تعديل هذه المشاركة بواسطة linuxman في 8 أبريل 2012 في 14:41

vVIfFr.gif

مدونتي



إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة

فما أحوجني إلى دعوة صالحة من أخ لي كريم

 

http://www.tvquran.com/

 

LoGeCom

أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز 

مواضيع مشابهة