كيف يمكنني تصحيح أخطاء مجموعة C# COM عند استدعائها من تطبيق win32 الأصلي؟

StackOverflow https://stackoverflow.com/questions/126868

سؤال

أقوم بتطوير تجميع C# والذي سيتم استدعاؤه عبر COM من تطبيق Delphi 7 (iow، win32 الأصلي، وليس .net).

حتى الآن، يبدو أن الأمر ناجح.لقد قمت بتصدير ملف TLB، واستوردته إلى مشروع دلفي الخاص بي، ويمكنني إنشاء كائن C# الخاص بي واستدعاء وظائفه.

لذلك هذا عظيم، ولكن قريبا سأفعل حقًا تريد استخدام Visual Studio لتصحيح كود C# أثناء تشغيله.قم بتعيين نقاط التوقف، والخطوة خلال التعليمات البرمجية، وكل هذه الأشياء.

لقد حاولت كسر كود دلفي بعد إنشاء كائن COM، ثم البحث عن عملية لإرفاق VS بها، لكن لم أتمكن من العثور على واحدة.

هل هناك طريقة لإعداد VS2008 للقيام بذلك؟أفضل أن أكون قادرًا على الضغط على f5 فقط وجعل VS يبدأ تشغيل دلفي القابل للتنفيذ، وانتظر حتى يتم استدعاء كود C#، ثم قم بإرفاق نفسه به..لكنني أفترض أنه يمكنني التعايش مع الارتباط يدويًا بعملية ما.

فقط من فضلك لا تخبرني أنني يجب أن أتعامل مع messageBox.Show وما إلى ذلك.

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

المحلول

في صفحة خصائص مشروع VS2008، في علامة التبويب تصحيح، يوجد خيار لتعيين إجراء بدء مختلف.

يمكن استخدام هذا لتشغيل برنامج خارجي (على سبيل المثال.تطبيق دلفي الخاص بك) عند الضغط على F5.

نصائح أخرى

ضع ما يلي في الطريقة التي ترغب في تصحيح الأخطاء فيها:

#if DEBUG
    if (!System.Diagnostics.Debugger.IsAttached)
        Debugger.Launch();
#endif

عندما تريد تصحيح الأخطاء، أنشئ إصدارًا لتصحيح الأخطاء واستخدمه في تطبيقك.عند تشغيل هذا الرمز، ينبثق مربع حوار يسألك عما إذا كنت تريد إرفاق مصحح أخطاء.

يمكنك فقط إرفاق التطبيق الأصلي ورؤية نقطة التوقف وعرض الأكوام والساعات وما إلى ذلك.عادة.ستحتاج إلى إرفاقه بعد إنشاء كائن COM.

أضع Afx MsgBox عند إنشاء الكائن لإيقاف تدفق التطبيق ثم قم بإرفاق مصحح الأخطاء.

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