السلام عليكم ورحمة الله وبركاته
كيف يمكنني أن أجعل برنامجي يختبر إذا كان الديلفي في حالة عمل يعمل برنامجي بشكل عادي و إلا لايعمل أبدا .
وشكرا جزيلا لكم .
السلام عليكم ورحمة الله وبركاته
كيف يمكنني أن أجعل برنامجي يختبر إذا كان الديلفي في حالة عمل يعمل برنامجي بشكل عادي و إلا لايعمل أبدا .
وشكرا جزيلا لكم .
:( (clock)
ألا يوجد حل لهذا السؤال .
:om ? ?
عذرا اخي fadi2003 فقد ظننت ان المشكلة قد انحلت عندما ارسلت لك رابط لمقالة الاخ كفاح حول معرفة اذا كان الدلفي يعمل ام لا
على العموم قد قمت بعمل مثال بسيط لك ارجو ان يكون فيه الجواب
او لا انشأ دالة تقوم باختبار هل الدلفي يعمل ام لا .
وهي كالتالي :
function TForm1.IsDelphiRunning: Boolean;
begin
Result:= (FindWindow('TAppBuilder', nil) > 0);
end;وعند حدث انشاء الشاشة الرئيسية تقوم بالتأكد فعلا اذا كانت الدلفي تعمل تخرج من الاجراء فورا ، واذا لم تكن تعمل فانك تنهي عمل البرنامج كالتالي
procedure TForm1.FormCreate(Sender: TObject);
begin
if IsDelphiRunning = True then
begin
Exit;
end else begin
ShowMessage('To Try this Program please Run Delphi first , Application will Terminate');
Application.Terminate;
end;ولعل المثال المرفق يوضح لك الصورة اكثر
واخيرا تقبل تحياتي
مشكور أخي أبو هـــانــي(f)(f)
أخوكم:cool:
شكرا جزيلا لك أخي العزيز : ابوهاني .
شـــكرا لك يا أبو هاني . . .
(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)
بسم الله الرحمن الرحيم
اخي العزيز أبو هاني ....
ولكن كيف لي ...ان أعرف Handel...للبرنامج اخر ...وليس دلفي حصراً
اي بمعنى أخر ...اذا أردتُ...أن أطلب برنامج أخر ....للتحقق من انه في عمل
ارجو الرد
مشكور مقدمأً;)
اخي الحق
اشكرك على سؤالك الذكي هذا
في الحقيقة لا توجد لدي طريقة مباشرة لاختبار عمل برنامج اخر غير طريقة معرف الاسم الداخلي للبرنامج او ما يسمى ClassName ( عذرا على سوء الترجمة ) . ومن ثم استخدام نفس الطريقة اعلاه في للتاكد بان البرنامج الذي تريده يعمل او لا .
ولمعرفة الاسم الداخلي لاي برنامج يمكننا ان الاستعانة باحدى دوال API وهي:
GetClassName(
HWND hWnd, // handle of window
LPTSTR lpClassName, // address of buffer for class name
int nMaxCount // size of buffer, in characters
);طبعا هذه الدالة تتطلب منك كما هو واضح اعلاه ثلاث متغيرات
1- مقبض النافذة ( Handle)
2- متغير من نوع AnsiChart لتخزين عنوان ClassName
3- متغير من نوع Integer لحجم العنوان
ويعود لك بقيمة 1 اذا نجح في الاجراء ، و بـ صفر اذا فشل
على العموم لا اريد ان اطيل في الموضوع ، ولكن ارفق لك مثال صغير وهو برنامج يقوم باظهار الاسم الداخلي لاي برنامج تضع عليه مؤشر الفارة ، وايضا الاسم الداخلي للمكونات الموجودة في نفس البرنامج .
المثال سوف يشرح لك بصورة اوضح ما اريد توصيله
تقبل تحياتي
بسم الله الرحمن الرحيم
مشكور أخي ابوهاني ....وسأجرب البرنامج؟؟؟؟
وأخبرك بكل جديد؟؟
الاخوة الكرام
خطرت لدي فكرة وانا اقوم باعداد هذا المثال
بعض الكمبوننت التي لا تعمل الا في وجود دلفي في حالة عمل يمكن التلاعب
عليها ، وذلك بتسمية النموذج الرئيسي للبرنامج " AppBuilder "
فتعتقد هذه الكمبوننت ان دلفي مازال يعمل ;)
في الحقيقة انا لا استخدم الكمبوننت الخارجية كثير اً..
لذلك ارجو ممن لديه مثل هذه الكمبوننت ان يجرب ، ويفيدنا
تقبلوا تحياتي
السلام عليكم
ممكن جدا تلك الفكرة ...ولكن عندما أريد أستخدام تلك المكونات
أغلب الأحيان تعذبني ..وأنا بغنى عنها ..حتى أجد البديل
أخوكم:cool:
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…