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

الخرج على منفذ الطابعة في الاكس بي لا يعمل

مغلق
بدأه m-anas في 15 أبريل 2005 · 4 رد · 1,044 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عملت برنامج بيعطي خرج على منفذ الطابعة

شغال تمام في الويندوز مي و 98

بس على الXP تظهر رسالة خطأ

ولا يوجد خرج ( قمع للخرج أو إغلاق للمنافذ )

حتى ولو جربت التوافقية

أرجواا المساعدة بسرعة ...

البرنامج بدو يتجرب بعد كم ساعة وللأسف

سيتم التجريب على الاكس بي

ولكم جزيل الشكر

أخوكم أنس

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

الحمد لله الذي هدانا لهذا وما كنا لنهتدي لولا أن هدانا الله

صدق الله العظيم

#2

لن تستطيع في هذه الفترة البسيطة عمل أي شيء..

للأسف تعليمات ASM لن تعمل على XP بدون تنزيل درايفر ما او إجراء تبديل لبعض ملفات DLL , أو على الأقل إستخدام شفرة معقدة وطويلة قبل إجراء الخرج لفتح المنافذ ...

(لدي برنامج من شركة مشهورة في الخارج , كذلك لا يعمل على XP ؟؟؟ مابالك )

توجد طريقة لكنك لن تستطيع الإستفادة منها , وهي مجموعة DLL تحوي توابع PortOut تعمل حتى على XP , ولكن تعليمات الأسمبلي المضمن العادية للأسف فأنا لا أعرف بعد كيف يمكن تنفيذها على XP ...

إن شاء الله موفق , ويجب على المشرف أن يقدر ذلك , وهذا شيء معروف بمشاكل XP مع العتاد لوكان المشرف تبع المشروع فهمان شوي

.

كما يحق لك تحديد نظام التشغيل ,, ربما يكون نظام التشغيل الذي يعمل علية برنامجي Linux ..؟؟؟ مادخل المشرف

#3

أخي كما قال الأخ عروه لازم تنزل الدرايفر بتاع البرنامج على الويندوز إكس بي

و إن كنت تقصد الدنجل فممكن تحصل على الدرايفر من موقع الشركة المنتجة له

و إن كنت أنت المنتج له فإنت و على طول على شفرات طويله عريضة ربنا يكون معاك شيئ متعب

تحياتي

أحمد صقر

#4

أهلا بك أخي m-anas.

عند البرمجة في نظام ويندوز للمنافذ فإن ويندوز وفرت مجموعة من دوال Api منذ إصدارات Win16. فكان بالإمكان الوصول إلى هذه المنافذ كمنفذ التسلسلي ComPort أو إلى منفذ الطابعة LptPort وفق بروتوكول تفرضه عليك ويندوز.

فما كان من المبرمجين ( خاصة مبرمجي البطاقات الإلكترونية) إلا التحايل على ويندوز بالنفاذ مباشرة باستعمال دوال مبنية بلغة التجميع.

الدالتين الرئيسيتين في لغة التجميع هي In و Out.

فكان بإمكانهم تغيير حتى الوضيفة الإفتراضية للمنفذ ( استعمال منفذ الطابعة لأمور لا علاقة لها بالطباعة, او استعمال منفذ ComPort في أمور لا تهتم حتى بالربط مع مودم). نفس الحيلة يمكن البرمجة بها لصالح التطبيقات داخل Win32 ك windows 95 و 98 و Me.

الأمر مختلف تماما في الأنظمة المحمية مثل أنظمة WinNt وما اشتق منها ك Windows2000 و windowsXp.. عند تنفيذ برنامج في هذه الأنظمة, فإن ويندوز تبحت داخل الكود على كل تعليمة من لغة الآلة التي تدل على دالتي In أو out, فإن صادفتهما في برنامجك التنفيذي فإنها تقوم بتوقيف التطبيق و ترسل لك رسالة تحديرية على أن برنامجك قام بالنفاذ إلى حيز محمي :

"The exception privileged instruction occurred in the application at location".

لتفادي مثل هذه الرسائل ولضمان عمل جيد للبرنامج يجب عليك استعمال برمجة باستعمال

kernel-mode device driver .

هذه التقنية صعبة في البرمجة, لهذا يفضل الإعتماد على ملفات جاهزة تفي بالغرض على أكمل وجه.

عليك بمكتبة WinIo أو inpout32.

أما إذا أردت الإعتماد على نفسك لبرمجة kernel driver الذي يناسبك وحاجياتك, فعليك بهذه الوصلات:

تم تعديل هذه المشاركة بواسطة ikossan في 17 أبريل 2005 في 02:15

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#5

تحياتي شباب .... وشكرا لكم على هذه المساعدة

لكن الحمد لله حاليا البرنامج يعمل على نظام ويندوز مي

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

الحمد لله الذي هدانا لهذا وما كنا لنهتدي لولا أن هدانا الله

صدق الله العظيم

هذا الموضوع مغلق.

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