
؟؟ CRIPT يمثل محركًا برمجة مؤلفة من 99 عامًا مصنوعًا بدقة لمطوري Delphi ذوي الخبرة؟ الاستفادة من برنامج التحويل البرمجي TinyCC المضغوط ولكنه متعدد الاستخدامات ، يدمج Cript بسلاسة توليد رمز الواجهة الخلفية الديناميكية في بيئة تطوير Delphi. مع ؟؟ CRIPT ، يمكن لمطوري Delphi تجميع وتنفيذ؟ البرامج النصية في وقت التشغيل ، مباشرة في؟ الذاكرة ، وإنشاء الإخراج في شكل؟ Win64 Executables (.exe) ، مكتبات الارتباط الديناميكي (.DLL) ، أو ملفات الكائنات (.OBJ).
.dll و .a و .lib . تستخدم CRIPT TinyCC ، والتي ترتبط بشكل ثابت مع وقت تشغيل Delphi ، لتجميع وتنفيذ؟ رمز ديناميكي. كل شيء حرجة؟ يتم إعادة توجيه عمليات الإدخال/الإخراج في وقت التشغيل-مثل open close read و lseek إلى تطبيقات Delphi-Native. عادةً ما تتطلب TinyCC أن تكون ملفات وقت التشغيل متوفرة بشكل منفصل ؛ ومع ذلك ، في CRIPT ، يتم تخزين هذه الملفات داخل Delphi القابلة للتنفيذ نفسها كموارد مضغوطة ، مما يؤدي إلى؟ نموذج I/O الافتراضي المستقل. عندما تطلب TinyCC الوصول إلى ملفات وقت التشغيل ، يتحقق معالج Delphi I/O مخصص من أرشيف الرمز البريدي المدمج ، وبالتالي ضمان بيئة تنفيذ سلسة وفعالة ومعزولة.
تعمل CRIPT كقناة لتسخير قدرات؟ 99 رمز ضمن إطار تطوير Delphi. ما إذا كان يتضمن تحسين عمليات معينة للأداء المحسن ، والتواصل مع موجود مسبقًا؟ المكتبات ، أو زيادة ميزة Delphi مع القدرات التعبيرية ؟
TCScript هي الواجهة الأساسية للانخراط مع وظائف CRIPT . فيما يلي نظرة عامة على مكوناته الأساسية:
csMEMORY : تجميع وتنفيذ البرامج النصية بالكامل في الذاكرة.csLib : إنشاء ملفات الكائنات ( .obj ).csEXE : إنشاء؟ Win64 قابل للتنفيذ.csDLL : إنشاء أ؟ مكتبة الارتباط الديناميكي. csCONSOLE : أهداف؟ نظام وحدة التحكم.csGUI : أهداف؟ أنظمة واجهة المستخدم الرسومية. constructor Create() : تهيئة مثيل TCScript .destructor Destroy() :؟ تصدر الموارد المرتبطة بمثال TCScript .procedure SetErrorHandler(const ASender: Pointer; const AHandler: TCScriptErrorEvent) : يعين معالج خطأ مخصص لإدارة الأخطاء.procedure GetErrorHandler(var ASender: Pointer; var AHandler: TCScriptErrorEvent) : يسترجع معالج الخطأ المعين حاليًا.function AddLibraryPath(const APath: string): Boolean : سجلات أ؟ مسار المكتبة للمترجم.function AddIncludePath(const APath: string): Boolean : سجلات تضمين مسار لتحديد موقع ملفات الرأس.function SetOutputType(const AOutputType: TCScriptOutputType): Boolean : يحدد نوع الإخراج المطلوب لتجميع البرنامج النصي.function CompileString(const ABuffer: string): Boolean : تجميع سلسلة متوفرة من؟ شفرة.function AddFile(const AFilename: string): Boolean : إضافة أ؟ الملف المصدر إلى وحدة التجميع.function Run(): Boolean : ينفذ البرنامج النصي المترجم.function AddLibrary(const AName: string): Boolean : يضيف مكتبة خارجية ليتم ربطها ديناميكيًا أثناء التنفيذ.procedure AddSymbol(const AName: string; AValue: Pointer) : يسجل رمزًا لسياق البرمجة النصية.function GetSymbol(const AName: string): Pointer : استرداد عنوان رمز مسجل.procedure Reset() : إعادة تعيين مثيل TCSCRIPT ، وقم بتطهير الحالات السابقة.function SaveOutputFile(const AFilename: string): Boolean : يحفظ المخرجات المترجمة إلى محدد؟ ملف.يوضح المثال التالي كيفية إنشاء إنشاء TCScript ، وإضافة ملف للتجميع ، وتنفيذ البرنامج النصي الناتج:
procedure CScriptErrorEvent ( const ASender: Pointer; const AText: string);
begin
WriteLn(AText);
end ;
procedure AddFileRun ();
var
LCScript: TCScript;
begin
LCScript := TCScript.Create();
try
// Set the ️ error handler
LCScript.SetErrorHandler( nil , CScriptErrorEvent);
// Configure the output type for in-memory execution
LCScript.SetOutputType(csMEMORY);
// Add include and library paths
LCScript.AddIncludePath( ' res/include ' );
LCScript.AddLibraryPath( ' res/lib ' );
// Add the ? source file to the scripting engine
LCScript.AddFile( ' res/src/test01.c ' );
// Execute the compiled script
if not LCScript.Run() then
WriteLn( ' Failed to execute script. ' );
finally
// Release resources
LCScript.Free();
end ;
end ;لدمج ؟؟ CRIPT في مشروع Delphi الخاص بك:
src إلى مسار البحث Delphi.??cript إلى قسم استخدامات مشروعك .المساهمات في CRIPT يتم تشجيع بشدة. لا تتردد في تقديم المشكلات ، أو اقتراح ميزات جديدة ، أو إنشاء طلبات سحب لتوسيع إمكانيات وقوة محرك البرمجة النصية.
؟؟ يتم توزيع الأمير تحت؟ ترخيص BSD-3-cause. لمزيد من التفاصيل ، راجع ملف LICENSE .
ما إذا كنت تسعى إلى تحسين الأداء الحسابي ، والواجهة بسلاسة مع الموجود؟ المكتبات ، أو توسيع ميزات تطبيقات Delphi الخاصة بك ، توفر CRIPT حلاً قويًا ومتكاملًا للجمع بين نقاط القوة في دلفي و 99 برمجة.
؟ فتح إمكانيات جديدة مع ؟؟ CRIPT ورفع تجربة تطوير Delphi من خلال تقنيات البرمجة الهجينة.

مصنوع من ❤ في دلفي