سؤال

هل من الممكن استدعاء التعليمات البرمجية المُدارة، وتحديدًا IronRuby أو IronPython من تعليمات برمجية غير مُدارة مثل C++ أو Delphi؟

على سبيل المثال، لدينا تطبيق مكتوب بلغة دلفي ويتم نقله إلى C#.NET. نود توفير البرمجة النصية لـ Ruby أو Python في تطبيقنا الجديد ليحل محل VBSCRIPT.ومع ذلك، سنحتاج إلى توفير البرمجة النصية لـ Ruby/Python في تطبيق دلفي القديم.هل من الممكن استخدام ملفات dll المُدارة التي توفرها IronRuby/IronPython من كود دلفي؟

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

المحلول

نعم.مثال دلفي لـ Win32 هنا: http://interop.managed-vcl.com/
يوضح كيفية استخدام C# بالإضافة إلى تجميع Delphi.NET من Delphi لـ Win32.

نصائح أخرى

من الممكن استضافة CLR أو DLR في تعليمات برمجية غير مُدارة لأنه مكون COM.من هذه النقطة يمكنك تحميل التجميعات المُدارة التي تحتاج إلى التفاعل معها.

من MSDN: استضافة وقت تشغيل اللغة المشتركة

لماذا لا تقوم بتضمين CPython بدلاً من ذلك، والذي يحتوي على واجهة برمجة تطبيقات مخصصة للاستخدام مباشرة من C/C++.ستفقد ميزة تعدد اللغات ولكن من المحتمل أن تكتسب البساطة.

نعم.وهذا ممكن باستخدام أغلفة Com القابلة للاستدعاء.تقوم بشكل أساسي بتمكين استدعاء فئات .Net الخاصة بك من خلال COM/ActiveX من كود win32 الخاص بك (Delphi أو C++).

أنا أستعمل الصادرات غير المدارة لإنشاء واجهة لمحرك البرنامج النصي IronPython في C#.كن حذرًا عند استخدام كود .NET من Win32 Delphi - عليك استخدامه Set8087CW($133F); لتغيير سلوك استثناء النقطة العائمة.

هل رأيت العدار من RemObjects؟ليس لدي أي خبرة في ذلك، ولكن من المقدمة يبدو مناسبا.

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