منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : بخصوص مشكلة بتنفيذ كود sdk البصمة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
لدي جهاز بصمه مرفق معه اداه قمت بإضافتها لصندوق الأدوات
المشكلة انه لسحب بيانات من جهاز البصمة يتطلب الامر فتح الاتصال اولا بهذا الكود  
AxW4commsv1.NetPort = Val(port1.Text)
        AxW4commsv1.LPath = Application.StartupPath
        AxW4commsv1.BeginInit()
        'AxW4commsv1.LineZd(str1, "")
ثم بعد ذلك يتم سحب البيانات بهذا الكود
  AxW4commsv1.Combaud = 9600

        AxW4commsv1.UploadFile(text24, text23)
المشكله اني اريد ان اضع الكودين تحت زرار واحد لا ينجح اما عند وضع الكودين الاول تحت زرار والثاني تحت زرار ينجح الامر 
بحيث اضعط على الاول ثم الثاني تنجح الطريقه
لا اعرف السبب جربت وضعهما تحت صب فلم تنجح ارجوا من الاعضاء الافاده عن السبب والحل
السلام عليكم

يبدو من الكود أن التعامل يتم على أساس SerialPort،
ومن وصف المشكلة يتضح أنه لا بد من الانتظار حتى فتح الاتصال قبل سحب البيانات،

امامك طريقتان:
الاولى أن تضع جزء الإتصال في حدث Form_Load وسحب البيانات في Button
الثانية أن تضع تضعهم في زر وأن تضع أمر انتظار لمدة ثانية واحدة على الأقل بين الجزئين. ويفضل قبل القراءة أن تفحص حالة الاتصال بشرط If
سطر الانتظار هو (وجرب تزيد مدة الانتظار)
كود :
Threading.Thread.Sleep(1000)

هناك حالة يستحسن عملها في تايمر يعمل كل 3ثوان مثلا وفيه يتم قراءة حالة الاتصال مثل IsOpen

اذكر نوع الجهاز وصورته لمعرفة تفاصيل عنه يمكن الاطلاع عليها وإفادتك من موقع الشركة.
جزاك الله خيرا الف شكر
انا حاليا استخدم طريقة الفورم لود وجربت التايمركذلك ولكن لأن لدي 10 اجهزه من نفس النوع فلم تكن عمليه لكن سأجرب امر الانتظار
وهذا رابط صورة الجها ز
https://www.google.com.sa/search?q=amano...Tug2c7ZfBM:

وضعت كود الاتصال بهذا الشكل
AxW4commsv1.BeginInit()
AxW4commsv1.LineZd(str1, "")

Threading.Thread.Sleep(1000)
ثم وضعت كود سحب البصمة
الغريب انه لم ينفذ الكود بالترتيب ولكن ذهب لينفذ سطر كود الانتظار ثم بعد ذلك ينفذ امر الاتصال الذي من المفترض انه يسبقه

ربما لم اوضح المشكله انني حين اضع كود فتح الاتصال في حدث لا يبدا في فتح الاتصال الا بعد انتهاء ما بعده من اكواد في هذا الحدث
لو تضع المشروع أو الكود كامل يمكن يتم إيجاد الطريقة المناسبة،

هل تستخدم الاتصال بالشبكة TCP/IP ؟
application.doevents