خطأ عند تشغيل برنامج خارجي
#1
السلام عليكم
حدث لي خطأ عند محاولة تشغيل برنامج خارجي بواسطة برنامج أعددته بالدلفي
والخطأهو أنه عندما أستعمل edit و opendialog وعند حدث الضغط على الزر فتح أعلمه بأن مسار البرنامج هو ما يوجد في edit tuk$ i²h يفتح البرنامج عادي كما هو مبين في الصورة
[صورة مرفقة: attachment.php?attachmentid=2680&d=1306684352]
وعندما أكتب له مسار البرنامج مباشرة يفتح البرنامج لكن يعطيني رسالة خطأ وهي مبينة في الصورة
[صورة مرفقة: attachment.php?attachmentid=2679&d=1306684335]
ومع الصورتين false و true المثال الذي قمت به أتمنى التعديل عليه إن أمكن علما أن اليرنامج يفتح في نافذة الدوس dos .
فأين الخلل ياترى
وفق الله الجميع.


الملفات المرفقة
.jpg   false.jpg (الحجم : 9.33 KB / التحميلات : 38)
.jpg   true.jpg (الحجم : 12.48 KB / التحميلات : 34)
.rar   openfile.rar (الحجم : 7.63 KB / التحميلات : 12)
الرد
#2
وعليكم السلام ورحمة الله
لم أجد أي خطأ، الصيغة صحيحة
كتبت:
كود :
C:\WINDOWS\system32\calc.exe
وتم تنفيذه بنجاح
تحقق من المسار
استخدم FileExist مثلا
بالتوفيق.
الرد
#3

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

من الصورة الخطا واضح هو من البرنامج المنفذ
يعمل في DOS وهو مبرمج بClipper (على الأغلب) يبحث عن ملفاته بنفس مكان التنفيذ ان لم يجدها يظهر خطأ
عند تنفيذ برنامج ما هناك مكان التنفيذ (اين ينفذ)
لتلمس الفرق بنفسك ضف هذا السطر في كل من الزرين، نفذ ولاحظ
كود :
showmessage(GetCurrentDir);
احدد الحلول تحديد مسار التنفيذ
كود :
ShellExecute(Handle,'open',PChar('D:\fiel\FIEL.EXE'),nil, 'D:\fiel', SW_SHOWNORMAL) ;
حل اخر تغيير المسار الى مجلد البرنامج قبل تنفيذه
كود :
chdir('D:\fiel');
ShellExecute(Handle,'open',PChar('D:\fiel\FIEL.EXE'),nil, nil, SW_SHOWNORMAL) ;
الرد
#4
السلام عليكم
جزاك الله خيرا أستاذ عبد العزيز
وشكرا لأخينا المشرف kachwahed وجزاك الله خيرا .
المشكل حصل لي مع هذا البرنامج فقط وللإضافة قمت بتحميل مشروع خاص بصندوق العمل RUN لم يشتغل به بينما لما شغلته من صندو العمل الخاص بالويندوز اشتغل عادي حتى في مشروعي المرفق لما تحدد المسار عن طريق opendialog ويوضع المسار في الedit يشتغل عادي بينما إذا أدمجت المسار في كود الضغط على الزر هنا يحدث الخلل .
على كل لم أجرب بعد الحلول التي وضعها الأستاذ عبد العزيز سأجرب ثم أخبركم بالنتيجة.
وفق الله الجميع.
الرد
#5
السلام عليكم
بفضل الله نجحت العملية حسب الحل الأول يا أخي عبد العزيز
وهو:
كود :
ShellExecute(Handle,'open',PChar('D:\fiel\FIEL.EXE'),nil, 'D:\fiel', SW_SHOWNORMAL) ;
أصبح البرنامج يفتح عادي.
وفق الله الجميع.
الرد


التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف