أخواني الأعزاء
السلام عليكم ورحمة الله وبركاته ،،،
قمت بتركيب مكتبة
Interop.WIA.dll للتعامل مع الماسحة الضوئية لسحب الصور للمشروع وهي تعمل بلا مشاكل أخذتها من هذا الموضوع
http://vb4arb.com/vb/showthread.php?tid=24039
ولكن عند الضغط على زر Cancel يظهر لي رسالة خطأ كما بالصورة المرفقة
أمر آخر
عندما أقوم بالضغط على زر السحب فإنه يقوم بالسحب فقط من داخل السكينر (الزجاج الداخلي للجهاز) ولا يعطيني خيار للسحب من ( الفيدر ) الذي يقوم بسحب الأوراق من الأعلى وأيضاً لايعطيني خيار للمشاهدة وتحديد جزء من الصورة بل يقوم بتحديد الصورة بالكامل
أخواني هل يوجد حل لمشكلة الخطأ
[تحديث] اعتذر لكن يبدو ان الكود به مشكله
أشكرك عزيز Zuhare
ولكن مازالت المشكلة موجوده عند الضغط على زر الإلغاء ( Cancel ) يظهر الخطأ
المشروع بالمرفقات
يوجد مشكلة بالمنتدى ماأقدر أرد عليك إلا بالرد السريع
على كل حال أرفقت المشروع بالرد السابق قبل ردك الأخير
هل الفايروس في الملف المرفق
شنو الإنتي فايروس إلي تستخدمه
أنا أستخدم Avast ومابين معاي فايروس
هذا فحص للملف أون لاين لأغلب شركات الإنتي فايروس مابين فيه شي
هذا هو الموقع إلي يفحص الملفات
https://virusscan.jotti.org/
بعد المغامره بتعطيل الحمايه جرب تعدل السطر If b IsNot Nothing AndAlso b.Length > 0 Then
أشكرك يالغالي أتعبتك معي
لكن لاتزال المشكلة موجوده بعد تعديل السطر
(23-10-24, 08:31 PM)F.H.M كتب : [ -> ]أشكرك عزيز Zuhare
ولكن مازالت المشكلة موجوده عند الضغط على زر الإلغاء ( Cancel ) يظهر الخطأ
المشروع بالمرفقات
جربت هذه المشروع المرفق في مشاركتك هذه على سكانر المكتب واشتغل بدون مشاكل.
حتى أنه يباشر بعمل المسح الضوئي بدون إظهار نافذة إختيار طريقة المسح .. ولا حتى يظهر أي سكانر سأختار(يختار الافتراضي)
واذا أغلقت السكان لا يعطي خطأ، بل يبقى المشروع في حالة العمل وجاهز لعمل مسح ضوئي مرة أخرى ..
المشكلة كلها تتلخص في السطر البرمجي :
PHP كود :
Dim device As WIA.Device = CD.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType, ShowSelectScanner, False)
حيث أن المتغير من نوع جهاز ، وليس نتيجة مربع حوار
فلو كان من نوع نتيجة مربع حوار لانتهت المشكلة بتحديد نوع الاجابة وعليه يتم التصرف..
ولهذا لايوجد حل لها الطريقة المعتادة .. (لكن يوجد حل آخر لها اذا استخدمت الكود المصدري للمكتبة(Twain) وليس المكتبة المستخدمة (DLL) وتحتاج شرح كثير - ولا يوجد وقت لذلك) (ذكرت لك هذا إذا أحببت أن تبحث بنفسك)..
لذا فإن أخينا (
Zuhare) عدل على المشروع وجعله يسحب من السكانر مباشرة بدون إظهار مربع إختيار طريقة السكان وبدون اظهار نافذة أجهزة السكانر المتاحة : بالسطر (وهكذا ظهر عندي عندما جربت المشروع) :
PHP كود :
Dim b() As Byte = ScanMe(300, 11.6, 8.3, False, False)
لما وضع البارمتر الاخير (
False) أي لا تحدد نوع السكان واختر الافتراضي ..
أشكرك عزيزي طه
المشكلة هي إذا كان عندك أكثر من سكانر في جهازك هنا تظهر لك نافذة إختيار السكانر وهذه النافذة إذا أغلقتها يظهر الخطأ أما إذا كان عندك سكانر واحد فقط هنا لن تظر شاشة إختيار السكانر بل يباشر بالسحب عند الضغط على زر السحب مباشرة
على كل حال حذفت السكانرات التي لدي وأبقيت على واحده فقط وهو يعمل الآن على أكمل وجه
أشكر الجميع على هذا التعاون المثمر