MT4 DLL ذاكرة التلوث - Page 3
الصفحة 3 من 589 FirstFirst 12345 الأخيرةالأخيرة
Results 21 to 30 of 41

Thread: MT4 DLL ذاكرة التلوث

  1. #21
    يرجى أن تضع في اعتبارها أنني كنت تمسك في القش من خلال عدم وجود معلومات تحاول أن تفكر لماذا DLL الخاص بك لا يزال تحطمها على أي حال ....
    Quote Originally Posted by ;
    الطريقة التي كتبت بها ، إذا لم يتم استدعاء deinit () ، لن يتم تحرير الكائن. ولكن بغض النظر عن تسرب الذاكرة التي لا ينبغي أن تتسبب في تحطمها لأن الكائن الثاني سيكون له ذاكرة جديدة ، صحيح؟
    نعم صحيح. لذلك يجب أن تتحمل DLL الخاص بك بعض المسؤولية عما يفعله طارئًا من الأعطالالاستخدام السيئ من قبل تطبيق الاتصاللغة الاتصال غير الموثوق بها (MQL4)أو لتسهيل استخدام تطبيق الاتصال. إذا تم إلغاء تحميل DLL وتم تنفيذ بعض من طعامك Deinit () ثم كما تقول لا يتم تحريرها الأجسام theses ذلك ... كان تجربتي (سمة غير موثقة!) - والحس السليم من شأنه دعم هذا - أن: يتم تنفيذ كل من الدالتين Init () و DeInit () في EA داخل MT4 Apps Thread. لذا يجب ألا يكون تنفيذ InitDeInit خيطًا آمنًا. يتم تنفيذ الدالة Start () فقط في مؤشر ترابط آخر. طالما أنك لا تتصل بـ Init () أو DeInit () من داخل MT4 Start () ، فسيكون كل شيء على ما يرام ، ويمكنك استخدام Tlist بسيط لهذا الغرض. هذا هو مبالغة قليلا ولكن الممارسة الجيدة على أقل تقدير. إذا لم يذكرك أي شيء آخر بالتفكير في التنظيف. حتى مع ما ورد أعلاه في الاعتبار يمكنك القيام بشيء مثل: مكتبة Codeed YourDLL؛ يستخدم SysUtils ، الطبقات. اكتب tyourobject = الفئة (tobject) الاسم الخاص: string؛ النهاية؛ var SaveExit: Pointer؛ objs: tlist؛ function YourNormal_InitObj (pairname: pchar): longint؛ STDCALL. var tmpobj: tyourobject؛ بدء tmpobj: = tyourobject.create؛ objs.Add (tmpobj)؛ tmpobj.name: = string (pairname)؛/تفعل نتيجة عنصر init أخرى: = longint (tmpobj)؛ النهاية؛ function YourNormal_DEInitObj (objptr: longint): longint؛ STDCALL. start objs.remove (pointer (objptr))؛ tyourobject (objptr). حرية. النتيجة: = 0؛ النهاية؛ إجراء LibExit. تبدأ في محاولة في حين objs.Count GT ، 0 لا تبدأ/تحرير tyourobject (objs # 91 ؛ 0 # 93 ؛). objs.delete (0)؛//تحرير//edited objs.Free؛ أخيرا ExitProc: = SaveExit؛/استعادة سلسلة نهاية الإجراء الخروج ؛ النهاية؛ export YourNormal_InitObj index 1، YourNormal_DEInitObj index 2؛ بدء SaveExit: = ExitProc؛/save سلسلة إجراءات الخروج ExitProc: =LibExit؛/install LibExit exit procedure objs: = tlist.create؛ النهاية.

  2. #22
    Quote Originally Posted by ;
    يرجى أن تضع في اعتبارها أنني كنت تمسك في القش من خلال عدم وجود معلومات تحاول أن تفكر لماذا كان لا يزال يتعطل DLL الخاص بك ...
    حماقة المقدسة آخر دلفي المبرمج

  3. #23
    Quote Originally Posted by ;
    لا يتم تحريرها لأن DeInit () قد لا يتم استدعاؤها
    هذا شيء أنا ببساطة تحسين بعيدا عن بلدي بشأن وكالات التشغيل الخاصة بي كما تعمل إلى الأبد
    . إن التوقف عن التداول ببساطة لا ينتمي إلى حالة الاستخدام العادية لمنظمتي التجسسية ، فهو يحدث فقط عندما أقوم بإيقاف تشغيل MT4 بالكامل (إعادة التشغيل ، نهاية الأسبوع). أيضا لقد وجدت أن deinit () يسمى بشكل موثوق للغاية في كل مرة EA غير مهيأ (التبديل الزمني) أثناء التشغيل العادي ، والشيء الوحيد الذي هو إشكالية حقا هو تفريغ دلل نفسه. في وضع الاختبار الخلفي MT4 لن يحاول تفريغها.

  4. #24
    Quote Originally Posted by ;
    حماقة المقدسة آخر دلفي المبرمج
    أو لعازر

  5. #25
    Quote Originally Posted by ;
    كانت تجربتي (ميزة غير موثقة!) - والحس السليم من شأنه أن يدعم ذلك - أن: يتم تنفيذ كل من الدالة Init () و DeInit () في EA داخل MT4 Apps Thread. لذا يجب ألا يكون تنفيذ InitDeInit خيطًا آمنًا. يتم تنفيذ الدالة Start () فقط في مؤشر ترابط آخر. طالما أنك لا تتصل بـ Init () أو DeInit () من داخل MT4 Start () ، فسيكون كل شيء على ما يرام ، ويمكنك استخدام Tlist بسيط لهذا الغرض.
    هذا ، يا صديقي ، جيد جداً أن أعرف
    .

  6. #26
    Quote Originally Posted by ;
    أو لعازر
    أنا استخدم دلفي 2009. ماذا عن الرجال؟ لقد تم تطوير في دلفي منذ عام 1998 (الإصدار 3) ، وبدأت كتابة MT4 EAs في عام 2005 ، وجمع العامين الماضيين. استخدام DLLs مع MT4 نشأت جزئيًا من حاجة عملائي إلى تأمين منطقهم واستخدام ترخيص الخادم العميل ، لكن ميزات التشفير الإضافية لم تؤذي
    .

  7. #27

    Quote Originally Posted by ;
    أعتقد أنني سأقوم ببساطة بتحميل لعازر .... بالمناسبة ما هي هذه الميزة التي يمتلكها لعازر ودلفي؟ حتى عن الكود: عندما أفعل كالتالي: [code] function foo (x: double؛ y: PChar): PChar؛ STDCALL. فار ...

  8. #28
    مرحبا 7bit! حاولت كل شيء دون أي حل! أيضا ، و dll تنتج في دلفيس هو 4 مرات أكبر من واحد (نفس الرمز) من lazarus ... ولكن هذا ليس حقا النقطة ، أريد فقط أن تكتب شيئا يعمل بكفاءة. حتى الآن أنا الترميز على النظام على حد سواء ... تبدو وكأنها على حد سواء لديها ميزة ومحرومة في النهاية ... حتى لدي عمل بلدي دلل ... لدي سؤال: أنا تحميل النسخة التجريبية من آخر lazarus (التي تبدو وكأنها الوحيدة المتاحة) ، هل هي مستقرة؟

  9. #29

    Quote Originally Posted by ;
    لعازر مستقر جدا. إن مبدعي لعازر هم مثاليون يسعون إلى الكمال. يبدو أن الكمال بالنسبة لبعضهم يعرف باسم V1.0 ولكن كل محقق الكمال يعرف أيضا أنه لا يمكن الوصول إلى الكمال ، لذلك أعتقد أنهم سيكونون في الإصدار 0.9.99.99999 المرشح 8 في عشر سنوات في حين أن البرنامج نفسه قد يستحق التسويق نسخة ودية رقم 5.0 بالفعل منذ سنوات إذا كان مشروع تجاري. كانت هناك العديد من المناقشات حول هذا في القائمة البريدية بالفعل ولكن يبدو أنهم يعانون جميعًا من متلازمة الكمالية ، ولكن يجب اعتبار ذلك كنوعية إيجابية لمطور برامج وكعلامة على برنامج جيد للغاية. المترجم نفسه ، وهو مشروع منفصل ، هو في الواقع 2.5 و 2.4.3 يستخدم في أحدث بنيات لعازر. مشروع لعازر هو فقط IDE ومكتبة Lazarus Components ، واستنساخ متوافق وإعادة تطبيق منصة عبر Borland's VCL. يمكنك أيضًا محاولة الانتقال إلى موقع لقطات الويب اليومية:
    http://www.hu.freepascal.org/lazarus/وتنزيل أحدث لقطة. للنوافذ 32 بت هذا سيكون حاليا: Lazarus fpc 2.4.3 win32
    ftp://ftp.hu.freepascal.org/pub/laza...0710-win32.exe

  10. #30

    Quote Originally Posted by ;
    أيضا ، و dll تنتج في دلفيس هو 4 مرات أكبر من واحد (نفس الرمز) من lazarus
    إذا كنت ترغب في تقليل مظهر حجم الشفرة بشكل أكبر في خيارات المشروع ضمن الارتباط ، قم بإيقاف تشغيل كافة معلومات تصحيح الأخطاء وأرقام الأسطر وقم بتشغيل رموز الشريط للإصدار النهائي. كما يمكنك أيضًا تمكين الربط الذكي والرابط الذكي. هذا يجب زيادة تقليل حجم ملفات .exe و dll.

أذونات النشر

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
  • رمز BB مفعل
  • الابتسامات مفعلة
  • رمز[IMG] مفعل
  • رمز [VIDEO] مفعل
  • رمز HTML غير مفعل
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.