سؤال

بالنسبة لعمليات ملفات معينة، نستخدم كائن VB6 الخاص ب VB6 لتحويل عناصر مختلفة إلى ByTearray عبر خاصية المحتوى. ثم نقوم بإنقاط bytearray كجزء من ملف ثنائي. في وقت لاحق عندما نقوم بتحميل الملف الذي نقرأ فيه الملف، اقرأ في Bytearray واستكشاف العنصر باستخدام ReadProperty's Reproperty. نحن نستخدم هذا الكثير لتخزين الصور مثل شعار العميل.

ما الدعم الذي يقوم به .NET Framework للعمل مع حقائب المميزات؟ Othan من كتابة المساعد COM DLL. هي أكياس الممتلكات A VB6 فقط بناء فقط أو أنها جزء من إطار أتمتة OLE / COM العام؟

ما آمل أن يتجنب كتابة DLL من المساعد VB6 والوصول مباشرة (عبر التعلن) وظائف COM اللازمة. أنا لا أتطلع إلى تكرار الوظيفة ولكن تحويل الكائن المخزن في bytearray إلى ما يعادلها .NET.

ملاحظة: أنا غير مهتم بتنفيذ وظيفة حقيبة الممتلكات في .NET. فقط في القدرة على قراءة البايتات من حقيبة خاص VB6 المحفوظة.

هل كانت مفيدة؟

المحلول

يمكنك التحقق من edanmo تحميل وحفظ الصور إلى صفائف بايت عينة على له صفحة عينة VB6 القديمة. وبعد إنه بسيط للغاية ويمكن استخدامه "تسلسل" أي كائن ينفذ واجهة iPersistream مثل adodb.recordset على سبيل المثال. يستخدم VB6's Property Bearns Ipersiststream للكائنات ويقوم بتنفيذ تسلسل أنواع مختلفة من VT_XXX VT_XXX.

BTW، يتيح لك Snippet Code Edanmo قراءة الصور المخزنة عبر نسخ / لصق إلى عمود صورة من شبكة الوصول.

نصائح أخرى

هناك 0 الدعم للمخصصات في .NET. يحل Serioilisation of Objects Bring Bringtrabbag.

لذلك كما أراها لديك خيار 2.

  1. بايت الرصاصة واكتب DLL بين 10 أو 20 خط DLL.
  2. قم بتحليل محتويات حقيبة الممتلكات المتسلسلة ومعرفة ما إذا كان بإمكانك فك شفرة ذلك ومعرفة إزاحة الصور والتدفقات وما إلى ذلك.

أنا أعرف أي واحد سأتوجه ل.

تجدر الإشارة إلى أنه يمكنك الوصول مباشرة إلى VB6 PropertyBang من .NET عن طريق الرجوع إلى DLL وقت التشغيل VB6 في مشروعك.

إضافة مرجع إلى: C:\WINDOWS\SysWow64\MSVBVM60.DLL (أو قد في مجلد System32)

وسوف ترى بعد ذلك إظزمة الخصائص في متصفح الكائنات:

enter image description here

لاحظ أن فئة VB6 لا تحتوي على وظائف للقراءة / الكتابة إلى ملفات القرص، وصفيفات البايت، وما إلى ذلك. يدير فقط بيانات الذاكرة فقط (AFAIK). لذلك هذا وحده لا يحل مسألة كيفية حفظ / تحميل البيانات بأي شكل تم تخزينه

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top