لماذا Win32 OleGetClipboard() وظيفة عودة CLIPBRD_E_CANT_OPEN?
سؤال
تحت أي ظرف من الظروف الدالة Win32 API OleGetClipboard() تفشل والعودة CLIPBRD_E_CANT_OPEN
?
المزيد من الخلفية:أنا مساعدة مع فايرفوكس إصلاح الخلل.التفاصيل هنا:
علة 444800 - لا يمكن استرداد البيانات صورة من الحافظة في شكل ضياع
في الاختبار الآلي التي ساعدت الكتابة ، ونحن نرى أن OleGetClipboard() في بعض الأحيان يفشل ويعود CLIPBRD_E_CANT_OPEN
.هذا هو غير متوقع ، و فايرفوكس قانون لسحب صورة البيانات من الحافظة ويندوز يعتمد على النجاح.
المحلول
الوثائق تقول أن OleGetClipboard
يمكن أن فشل مع رمز الخطأ هذا إذا كان OpenClipboard
يفشل.في المقابل, إذا كنت تقرأ هذه الوثائق ، يقول:
"OpenClipboard إذا فشل نافذة أخرى قد الحافظة فتح".
مقابلة حصرية الموارد:نافذة واحدة فقط يمكن أن يكون الحافظة مفتوحة في وقت واحد.في الأساس, إذا كنت لا تستطيع أن تفعل ذلك انتظر قليلا وحاول مرة أخرى.
نصائح أخرى
هو الاختبار الخاص بك تشغيل أكثر من محطة الخدمات ؟ انظر CLIPBRD_E_CANT_OPEN خطأ عند وضع الحافظة من .صافي.
من ما أرى في MSDN ويبدو ان هذا يعني أن المشكلة تنبع مع شخص حاول فعلا وضع البيانات في الحافظة ، ط،.هـ.مصدر البيانات.إذا دعوتهم إلى OleSetClipboard() فشلت لسبب ما فإنك لن تكون قادرا على استخراج الأشياء.وأود أن نلقي نظرة على كيف البيانات إلى الحافظة ، ومعرفة ما إذا كان هناك اختبار الحالة أن يؤدي هذا (نسخ البيانات إلى الحافظة) ثم يسبب المشكلة كنت تتحدث عن.