Beberapa EA menggunakan DLL tunggal dengan DLL Windows - Menggunakan Delphi
Results 1 to 10 of 10

Thread: Beberapa EA menggunakan DLL tunggal dengan DLL Windows - Menggunakan Delphi

  1. #1
    1 Lampiran Saya baru-baru ini mendapat permintaan dari anggota untuk menunjukkan cara membuat DLL dengan jendela yang digunakan oleh EA daripada indior.

    Seperti yang disebutkan sebelumnya di utas lain (dan kebanyakan orang tahu) Indiors berjalan di utas aplikasi utama MT4. Ini berarti bahwa jika Anda membuat jendela non modal di DLL Anda, mereka akan berfungsi dengan baik karena pesan jendela DLL akan diproses oleh aplikasi utama MT4.

    EA di sisi lain, masing-masing berjalan di utasnya sendiri. MT4 tidak menyediakan loop penanganan pesan di dalam utas EA sehingga lebih bermasalah untuk menampilkan jendela DLL.

    Jalan keluarnya adalah dengan membuat utas baru di DLL Anda yang akan menyediakan kemampuan pemrosesan pesan yang dibutuhkan jendela.

    Sementara pengkodean DLL untuk berinteraksi dengan satu EA sedikit lebih mudah, contoh ini menunjukkan bagaimana menangani beberapa EA Menggunakan DLL dan jendela yang sama, dan dapat digunakan untuk pengguna EA tunggal atau ganda.

    Saya telah mencoba untuk menjaga kode sesederhana mungkin sambil memberikan tingkat fungsionalitas yang layak, atau setidaknya untuk menunjukkan betapa fleksibelnya DLL dasar ini, sambil menyoroti jebakan dan menunjukkan cara menghindarinya.
    Konversi ke kompiler C mana pun seharusnya tidak menyebabkan sakit kepala besar asalkan pembuat kode tahu cara membuat DLL dasar dan menjalankannya dalam Mt4 EA atau di dalam ruangan.
    Singkatnya, kerangka DLL ini dapat dengan mudah diperluas untuk menghasilkan antarmuka pengguna yang kompleks (interaktif) untuk mengontrol atau meningkatkan EA apa pun.


    Saya telah mengomentari kode sumber Delphi cukup luas, tetapi belum menambahkan banyak ke EA (MQ4) karena pendek dan cukup jelas.


    Jika Anda tidak tahu ke mana file terlampir harus pergi maka Anda mungkin tidak boleh bermain-main dengannya, tetapi hanya demi itu, file-file berikut harus dimasukkan ke loions yang disebutkan:

    File DLL MT4\ahli\perpustakaan
    File MQ4 MT4\ahli
    Semua file lainnya adalah kode Sumber proyek Delphi dan harus ditempatkan dalam satu folder.


    Sebagai peringatan terakhir itu ditulis menggunakan Delphi V4 yang berjalan di Win XP Dengan MT4 Build 509. Saya tidak tahu apakah itu akan dikompilasi pada versi Delphi yang lebih baru atau apakah itu akan berjalan dengan benar pada versi windows yang lebih baru tetapi saya tidak melihat alasan mengapa itu tidak akan.


    Saya harap ini membantu siapa pun di luar sana yang berjuang untuk mencapai apa yang bisa menyusahkan kode a$$.

    ************************************************** ** *************************************
    Permintaan maaf untuk semua 7 pengunduh awal. Saya telah men-debug kode DLL dan menemukan dua kesalahan pada rilis awal.

    Kesalahan ini adalah:

    Bug : Pembebasan objek yang salah selama deint kecuali DLL diturunkan dari memori
    Gejala : Jika Anda membuka EA ini dan mengkompilasi ulang file MQ4 maka itu tidak akan diinisialisasi dengan benar

    Bug : Gagal menunggu utas DLL untuk membuat jendela DLL utama kami.
    Gejala : Gagal menginisialisasi dengan benar dengan cara yang tidak dapat diprediksi dan seringkali tidak konsisten.

    https://www.forexfabrikasi.com/attac...7577797109.zip

  2. #2
    1 Lampiran
    Quote Originally Posted by ;
    Tidak Masalah Ok. Meskipun kerja keras dari kerangka kerja dasar ada untuk Anda sekarang, Anda masih akan memiliki pekerjaan yang cocok untuk Anda karena Anda ingin beberapa Eas dilampirkan ke DLL Tunggal. Anda harus melakukan seperti yang telah saya lakukan dan secara dinamis membuat antarmuka visual Anda (yang merepotkan tetapi) atau Anda harus membuat kode metode untuk menyimpan data spesifik EA ke objek vars lokal DLL dan memulihkan data ini ke kontrol visual setiap kali pengguna mengubah kontrol tab. Bagaimanapun, saya senang itu aktif dan berjalan di bangunan Anda ...
    Rangebound yang terhormat, saya memulai kembali proyek itu 2 hari yang lalu dan tidak tahu mengapa prosedur ekspor loggerAddWatchArrayDouble tidak berfungsi. Alih-alih penjelasan panjang, saya cukup yakin jika Anda punya waktu dan melihat arsip terlampir, Anda akan memahami masalah saya. Saya bisa hidup tanpa fungsi itu, tapi saya ingin mengerti... Salam, Olivier PS: Saya menambahkan komponen TVirtualStringTree, jadi Anda perlu menginstal paketnya jika Anda ingin dapat mengkompilasi proyek... PS2: sekali Sekali lagi, terima kasih untuk bantuan Anda.
    https://www.forexfabrikasi.com/attac...2111370135.rar

  3. #3
    Terima kasih banyak untuk kode sumber Anda yang luar biasa sebagai contoh dan dokumentasi yang bagus. Saya seorang delphideveloper selama bertahun-tahun, tetapi ketenangan kode inilah yang saya cari dalam waktu lama dan keterampilan saya tidak cukup untuk menyelesaikannya. Tujuan saya adalah membuat jendela untuk mengubah Parameter menjadi EA (robot perdagangan) saya selama waktu proses. Jadi saya akan memodifikasi kode Anda untuk kebutuhan saya. Terima kasih sekali lagi

  4. #4
    hai rangebound terima kasih untuk zip ini. Karena keterampilan pengembangan saya tidak begitu bagus, bolehkah saya meminta bantuan Anda untuk kebutuhan yang sangat tepat: saya ingin menggambar tombol pada bagan dan menjalankan tindakan terkait saat mouse mengkliknya . tapi ini jauh dari kemampuan saya berkembang. bisakah Anda membantunya dengan sebuah contoh? terima kasih sebelumnya.

  5. #5
    Tidak Masalah Ok. Meskipun kerja keras dari kerangka kerja dasar ada untuk Anda sekarang, Anda masih akan memiliki pekerjaan yang cocok untuk Anda karena Anda ingin beberapa Eas dilampirkan ke DLL Tunggal. Anda harus melakukan seperti yang telah saya lakukan dan secara dinamis membuat antarmuka visual Anda (yang merepotkan tetapi) atau Anda harus membuat kode metode untuk menyimpan data spesifik EA ke objek vars lokal DLL dan memulihkan data ini ke kontrol visual setiap kali pengguna mengubah kontrol tab. Pokoknya saya senang itu aktif dan berjalan di build Anda dan di 64 bit windows 7 juga. Selamat bersenang-senang !!!

  6. #6
    1 Lampiran Dear Rangebound, saya tidak mengujinya sebanyak itu untuk saat ini, saya hanya memuat ulang rilis baru yang Anda posting di pos #1, mengkompilasi ulang DLL dan melampirkannya ke bagan di MT4 579 Build dan ... semuanya tampak .... OK! Terima kasih banyak, karena saya mungkin akan menghabiskan lebih dari beberapa jam untuk memperbaikinya! Terima kasih banyak untuk titik awal ini, sekarang saya dapat mencapai proyek saya: Anda baru saja membuat bagian yang paling sulit! Salam, Olivier EDIT : Karena, saya mencoba menambahkan bagan lain, tab baru ditambahkan dengan benar dan pesan dikirim dan diterima dengan benar. Menghapus ea yang digunakan untuk crach MT4, tidak demikian lagi. Menghapus EA dengan benar, hapus tab dan tutup jendela jika tidak ada lagi tab! Sempurna.
    https://www.forexfabrikasi.com/tradi...ivots-win.html

  7. #7
    Pesan untuk semua 7 pengunduh awal file ini Harap unduh ulang lampiran di pos pertama utas ini. Saya telah mengkodekan ulang untuk menghindari dua kesalahan bodoh dan semuanya harus baik-baik saja sekarang. Saya juga menyertakan file EX4 di zip jika pengguna build 579 600 masih mengalami masalah. Seperti yang saya pahami (setelah mengintip sekilas utas masalah 579 dan 600) Jika Anda menggunakan EX4 yang dikompilasi pada build 509 maka ini akan menyelesaikan masalah untuk build yang lebih baru ini. Saya harap ini benar. Och dapatkah Anda memposting kembali di sini jika pembaruan berhasil baik untuk Anda.

  8. #8
    1 Lampiran Hai Rangebound, Terima kasih banyak untuk potongan kode ini... Saya pikir saya sudah keluar dari pengembang Delphi yang baik (ok lama sekali...) tetapi saya perlu melihat lebih dalam pada kode Anda, dan Anda pasti jauh dari tingkat keahlian saya... Ini lebih dari yang saya harapkan dan dikomentari dengan sempurna! Sekali lagi terima kasih banyak, sekarang saya bisa melangkah lebih jauh pada proyek saya... Salam, Olivier PS: Jadi sebelum memposting balasan ini, saya mengkompilasi DLL, ahli mql4... lampirkan EA ke bagan dan... mengalami masalah! Biarkan saya menyelidikinya dan saya akan kembali lagi nanti... Win7 64bits MT4 -32 bits - Build 579 Delphi XE2 DLLWindowsForMultipleEAs - 32 bits...
    https://www.forexfabrikasi.com/tradi...key-tests.html

  9. #9
    Saya tidak yakin harus menyarankan apa selain menjalankan Build 509, dan saya melihat beberapa utas di FF tentang masalah dengan build 579 dan 600 sehingga mungkin menjadi penyebabnya. Saya memang memiliki beberapa kesalahan init di awal pengkodean, tetapi kesalahan tersebut telah diselesaikan dan saya tidak mendapatkannya nanti dan tidak dapat membalasnya sekarang. Saya akan bermain-main sedikit dan melihat apakah saya bisa memecahkannya tetapi tanpa uild 579 saya tidak yakin saya akan berhasil. Jika saya membaca posting Anda dengan benar, Anda mengkompilasi DLL OK. Jika itu masalahnya dan Anda menjalankan DLL yang dikompilasi daripada yang ada di file zip, maka saya kira masalah bisa merayapi tetapi saya ragu ini karena Pilihan Anda dengan jelas menunjukkan bahwa jendela berhasil dibuat (jika ada masalah melompat untuk memenangkan 7 saya pikir itu akan dilakukan dengan panggilan ke GetWindowLong/SetWindowLong) Sementara itu jika asumsi saya di atas benar maka saya sarankan menggunakan file DLL dalam file Zip (yang saya kompilasi) Pokoknya Saya akan melihat apa yang bisa saya lakukan nanti

  10. #10
    halo rangebound, saya ingin membuat ea seperti mesin fotokopi perdagangan. saya ingin menggunakan dll, seperti windows user32.dll karena saya menemukan banyak dari mereka menggunakannya. mereka menggunakan dua fungsi dll ini #import user32.dll int PostMessageA(int hWnd,int Msg,int wParam,int lParam); int RegisterWindowMessageA(string lpString); #import pertanyaan saya adalah, 1) parameter apa yang saya kirimkan dengan fungsi ini seperti int PostMessageA(what,what,what,what) atau RegisterWindowMessageA(string lpString); 2) saya membaca sesuatu seperti eksekusi 10milidetik, apa itu, apakah ini mungkin hanya menggunakan dll ini. 3) saya ingin beberapa contoh bagaimana dll ini bekerja dengan kode, apakah itu hanya digunakan di bagian impor atau memiliki kegunaan lain. silakan berikan beberapa contoh pengkodean atau mesin fotokopi apa pun dalam versi mql4.

Izin Posting

  • Anda tidak boleh memposting thread baru
  • Anda tidak boleh memposting balasan
  • Anda tidak boleh memposting lampiran
  • Anda tidak boleh menyunting postingan Anda
  •  
  • Kode BB Aktif
  • Smilies Aktif
  • Kode [IMG] Aktif
  • Kode [VIDEO] Aktif
  • Kode HTML tidak aktif
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.