يمكنك استخدام ملف dll هذا إذا كان برنامجك/مشروعك مجانيًا تمامًا. إذا حصلت على أي دخل حتى من التبرعات أو الإعلانات، يرجى دعمي.
لكي يعمل التراكب الخاص بي بشكل كامل، تحتاج إلى 7z.dll، لذا إذا لم يكن لديك هذا الملف بعد، يمكنك تنزيله من هناك: https://www.7-zip.org/
يمكن العثور على معلمات ملف 7zOverlay.dll في ملف تعليمات 7-ZIP، ويستخدم 7zOverlay.dll نفس المعلمات مثل ملف 7z.exe. آمل أن يكون النقل/التغيير سهلاً.
إذا لم تقم بإضافة أية معلمات إلى 7zOverlay.dll، فإنه يقوم بإرجاع تعليمات المعلمات الموجودة في المخزن المؤقت للإخراج، ويعيد -1 (بدون معلمات).
افتراضيًا، يقوم بتحميل ملف 7z.dll من موقع 7zOverlay.dll، ولا يهم إذا قمت باستدعاء 7zOverlay.dll من موقع %tmp% أو من موقع .exe الخاص بك. ولكن، يمكنك تغيير موقع الملف 7z.dll عن طريق الوظائف Set7zDllPathFileA أو Set7zDllPathFileW (المثال أدناه). فقط قبل أي من الوظائف CommandFor7zipA أو CommandFor7zipW يمكنك تغيير موقع ملف 7z.dll. بعد تحميل ملف 7z.dll، لا تعمل وظائف تغيير موقع ملف 7z.dll.
لقد اختبرت 7zOverlay.dll مع إصدارات 7z.dll: 15.05 و16.04 و19.00 و20.00 Alpha و20.01 alpha. أنه يعمل بشكل جيد.
يحتوي ملف dll هذا على أربع وظائف، اثنتان لـ ANSI (Set7zDllPathFileA، CommandFor7zipA) واثنتان لأحرف UNICODE (Set7zDllPathFileW، CommandFor7zipW).
مثالان أساسيان للاستخدام، بشكل منفصل لترميز الأحرف:
أنسي :
C++: BOOL Set7zDllPathFileA(const char * FullPathToThe7zDLL);
دلفي: Set7zDllPathFileA(const FullPathToThe7zDLL: PAnsiChar): BOOL; com.stdcall;
---
C++: int CommandFor7zipA(const char * params, char * &OutputBuffer, char * &ErrorsBuffer);
دلفي: CommandFor7zipA(const params: PAnsiChar; var OutputBuffer, ErrorsBuffer: PAnsiChar): Integer;
يونيكود :
C++: BOOL Set7zDllPathFileW(const wchar_t * FullPathToThe7zDLL);
دلفي: Set7zDllPathFileW(const FullPathToThe7zDLL: PWideChar): BOOL; com.stdcall;
---
C++: int CommandFor7zipW(const wchar_t * params, wchar_t * &OutputBuffer, wchar_t * &ErrorsBuffer);
دلفي: CommandFor7zipW(const params: PWideChar; var OutputBuffer, ErrorsBuffer: PWideChar): Integer;
لقد قمت أيضًا بإعداد أمثلة أخرى لاستخدام لغات البرمجة الأخرى المتاحة للتنزيل أعلاه.
لم تتضمن أي أمثلة الملف 7zOverlay.dll، لذلك تحتاج إلى تنزيله بشكل منفصل ووضعه في موقع المثال (الأمثلة) المستخرج.
أشارك هنا إصدار X86 (32 بت) فقط من ملف dll هذا للبرامج المجانية، والذي يعمل فقط مع الإصدار X86 (32 بت) من 7z.dll. يتوفر أيضًا الإصدار X64 (64 بت) من ملف dll هذا ويمكننا التحدث عن سعره على موقع patreon الخاص بي، أو هنا في الرسائل الخاصة (إذا كان متاحًا).
بناء المعلومات.
تم إنشاء 7zOverlay.dll هذا من مصدر 7-ZIP الأصلي باستخدام VisualStudio2015CE مع بعض التعديلات لاستخدامه كملف dll، ولكن ليس كبرنامج سطر أوامر. لذلك، يستخدم ملف dll هذا نفس المعلمات التي استخدمتها لبرنامج سطر الأوامر 7-ZIP (7z.exe) - المعلمة الأولى (الإدخال)، ويقوم بإرجاع رسائل الإخراج إلى المخزن المؤقت للإخراج - المعلمة الثانية (الإخراج)، وكل التحذيرات / رسائل الأخطاء التي ترجعها في المخزن المؤقت للأخطاء - المعلمة الثالثة (الإخراج).
قصة مشروع قصيرة، يمكنك تخطيها إذا لم تكن مهتمًا.
لقد بدأ هذا المشروع منذ وقت طويل. في البداية قمت بإنشاء ملف dll هذا في دلفي القديمة باستخدام JCL لـ 7-ZIP، لقد كان سريعًا جدًا، لكن JCL لا يدعم جميع الأرشيفات كما أردت. لذلك، بدأت في تعديل مصدر 7-ZIP الأصلي لإنشاء ملف dll المتراكب منه. لا أرغب في إنشاء ملف dll هذا كما هو الحال في بعض المشاريع الأخرى، التي تقوم بإنشاء ملفات dll هذه باستخدام الإصدار الحالي من 7-ZIP. نعم، ملفات dll هذه من مشاريع أخرى فردية ولا تحتاج إلى 7z.dll الأصلي للعمل، ولكن عليك انتظار الإصدار الجديد. مع ملف dll المتراكب الخاص بي، يمكنك استخدام أي إصدار من 7-ZIP.