dll nasıl kaldırılır - sayfa 7

 

Alexero ,

Tatilden yeni döndüm, bu Herod'ların seni tamamen yendiğini görüyorum. Hadi birlikte ıslatalım. :)))))))

HideYourRichess ,

Tüm saçmalıklara yetecek kadar, göstergeyi kaldırdıktan sonra DLL'yi boşaltma sorunu gerçekten var, sadece DLL kodundaki hataların varlığı veya yokluğu ile ilgili değil, geliştiricilerin kullanımı sınırlandırması gerçeğiyle ilgili. sözde dış kütüphanelerin. "makul sınırlar".

Bu sınırların ne olduğunu - dick bilir, daha ayrıntılı olarak açıklamaya zahmet etmediler. Bununla birlikte, kitaplık bunlara sığarken, yükleme ve boşaltma bir demet halinde gider.

Ancak sersemlemiş programcı belleği çok hevesli bir şekilde manipüle etmeye başlar başlamaz veya hesaplamaları için terminalden işlemci zamanını yemeye başlar başlamaz, hatta kutsal (korku) - terminal.exe programının mesaj kuyruğunda, ardından kötü meta alıntıda sallanır. ondan intikam alacaktır.

Boşaltma yapmayan dll çiçeklerdir. Saçını diken diken eden şeyler gördüm. Örneğin, göstergeler (ki, hiçbir DLL çağrısının bulunmadığına dikkat edin) birbirlerinin adres alanına girmeye başladı. Ve bir DLL'den basit bir işlevi çağırdıktan sonra bile (hiç bir şey yapmayan bir işlev bile - bilerek denedim!) terminal, MQL programının satırlarını nedensiz yere atlamaya (!) başladı. (i=limit;i>=0;i--) için zaman serisi döngüsü tamamlandıktan sonra negatif endeksler alanına çarptı (bu kesinlikle uyarılarla doğrulandı)!!! O zaman beni en çok etkileyen şey, terminal.exe'nin, belirli bir milisaniye sayısından sonra, durumun tüm komedisini fark ederek ve hemen saçmalamayı, hemen tüylü büyükanneyi durdurması ve i değişkenini yerel değeri olan 0'a döndürmesiydi. Hiçbir şey yoktu. bunun gibi.

Ex4 program kodunun işlenmesindeki hatalar giderildikten sonra regsvr yardımcı programının ne yaptığından bahsedelim.

 
HideYourRichess >> :

Bir kez daha tekrar ediyorum - dll ile hiçbir yerde sorunum yok. Sorunlarınız varsa - o zaman bunlar programlamanızın sorunlarıdır, burada ne MS ne de MT'nin suçlanması muhtemel değildir. Ve "eski" VC'yi kullanmanız gerektiği gerçeği - bu yüzden yine de açık olmalıdır.

Eğlenceli kişi.

Her şeye test ile karar verilir.

.

Peki, dll'yi al, danışmandan çıkar - kaldırmayı başarırsan

MT çalışırken, işte bu kadar, sen bir kahramansın, tebrikler!

Yapamıyorsanız neden buraya yazıyorsunuz? Kimin için?

Zakachiki, ürünlerinizle çalışırken onları nasıl bir tavrın beklediğini görsün diye mi?

Ya da herkesin tavsiye için kime başvurmayacağını tam olarak bilmesi için mi?

.

Şimdi düşünüyorum da, soruyu soran insanlar ne cevap almak isterler ki...

büyük olasılıkla şudur: bir Exe oluşturun, dinamik bağlantıyla Dll'yi yükleyin

GetProcAddress() aracılığıyla ve çağrıları çekin.

Kaldırdıktan sonra Exe çalışırken Dll silinmezse, bir sorununuz var demektir.

Buna icat etmek yerine gerçek bir nesnel sonuç elde etmek denir.

"programlamanızın" bazı "hataları".

Ve şimdi bu sonuç için bir teori üretebilirsiniz :-) ...

.

Buradaki teoriler, itiraf ediyorum, hepsi icat edildi.

Ancak bu, normal cevap verebilmek için w% 'yi yükseltmek için tembellikten kaynaklanmaktadır.

.

Ve VBAG... peki... bravo!

Sorunun açıklayıcı bir açıklaması, belirli bir kullanım durumu, her şey aniden netleşti.

Her ne kadar bir uygulama sunucusuyla çalışıyorsanız da, dll'nin değiştirilmesi yakında o kadar alakalı olmayacaktır :-).

.

Dürüst olmak gerekirse, hata ayıklama için bir dosyada *statik* verilere sahip olmak daha iyidir.

Danışmanın size verileri bir dosyaya göndermesine izin verin.

Son 7 yıldır tek satırda çok megabaytlık dosyaları okuyup yazıyorum - her şey son derece hızlı.

Ayrıca, sekmeyle ayrılmış bir dosya için bu büyük dize, substr()'ler olmadan 1 geçişte bir matrise dönüştürülebilir.

(saniyenin onda biri kadar), çünkü satırlara ve ardından sütunlara bölmek bir şekilde çok fazla çalışıyor

yavaşça (birkaç saniye sürdü). Böylece bir şey çökerse, sorun *garanti edilebilir*

rasgele sayı üreteçlerine bağlı olmak yerine çoğaltın.

.

Ve bu yaklaşımla (!) Testler basitleştirilecektir. Çünkü dll değil.

TEK TIKLAMADA çalıştır düğmesi derlenir, bağlanır, başlatılır ve exe'nin kendisi gerekli verileri alır.

.

Not: sadece "programlama" ile ilgili sorunlar çözülebilir ...

 

DLL'nizi MT4'te dikkatli ve sınırlı bir şekilde kullanmanız gerektiği konusunda önceki yoldaşlara katılıyorum. Bu, yukarıdakilerin yanı sıra DLL'nizi kademeli olarak geliştirmeniz gerektiği ve egzotik olmadığı anlamına gelir. DLL'niz, başka birinin MQL4 yarı yorumlayıcısının evinde geçici bir misafirdir.

2 alsu: Hastayım, yapacak bir şeyim yok, yatakta akıllıca bir proje yürütemem ama tavukçularla konuşmak çok fazla zihinsel çaba gerektirmiyordu, bu yüzden üzerine serptim. Hala vicdanlarının uyanmasını bekliyorum, ama şimdiye kadar görünür değil, sadece demagoji ve boş konuşma ....

 
alsu >> :

Tüm saçmalıklara yetecek kadar, göstergeyi kaldırdıktan sonra DLL'yi boşaltma sorunu gerçekten var, sadece DLL kodundaki hataların varlığı veya yokluğu ile ilgili değil, geliştiricilerin kullanımı sınırlandırması gerçeğiyle ilgili. sözde dış kütüphanelerin. "makul sınırlar".

ayrıca >> :

Bu sınırların ne olduğunu - dick bilir, daha ayrıntılı olarak açıklamaya zahmet etmediler. Bununla birlikte, kitaplık bunlara sığarken, yükleme ve boşaltma bir demet halinde gider.

Ancak sersemlemiş programcı belleği çok hevesli bir şekilde manipüle etmeye başlar başlamaz veya hesaplamaları için terminalden işlemci zamanını yemeye başlar başlamaz, hatta kutsal (korku) - terminal.exe programının mesaj kuyruğunda, ardından kötü meta alıntıda sallanır. ondan intikam alacaktır.

Boşaltma yapmayan dll çiçeklerdir. Saçını diken diken eden şeyler gördüm. Örneğin, göstergeler (ki, hiçbir DLL çağrısının bulunmadığına dikkat edin) birbirlerinin adres alanına girmeye başladı. Ve bir DLL'den basit bir işlevi çağırdıktan sonra bile (hiç bir şey yapmayan bir işlev bile - bilerek denedim!) terminal, MQL programının satırlarını nedensiz yere atlamaya (!) başladı. (i=limit;i>=0;i--) için zaman serisi döngüsü tamamlandıktan sonra negatif endeksler alanına çarptı (bu kesinlikle uyarılarla doğrulandı)!!! O zaman beni en çok etkileyen şey, terminal.exe'nin belirli bir milisaniye sayısından sonra, durumun tüm komedisini fark edip hemen saçmalamanın, tüylü büyükanneyi hemen durdurması ve i değişkenini yerel değeri olan 0'a döndürmesiydi. Hiçbir şey yoktu. bunun gibi.

Ex4 program kodunun işlenmesindeki hatalar giderildikten sonra regsvr yardımcı programının ne yaptığından bahsedelim.

Burada, dedikleri gibi, bir aptalla cehennemi kırabilirsin. Başka bir deyişle, MQL'de normal çalışan programlar yazamıyorsanız, bu sizin sorununuz, MQL değil, hepsi bu. C'de bir buggy dll yazabilirsiniz, ancak bu, C'nin mükemmel bir dil olduğu gerçeğini ortadan kaldırmaz. Yani burada, kötü bir dansçı için, yani. toplar sana müdahale eder. Hatalarınız için MT veya MS'yi suçlama arzunuzu anlıyorum. Bu yaşla birlikte geçmezse, hiçbir şey size yardımcı olmaz.

 
HideYourRichess >> :

Burada, dedikleri gibi, bir aptalla cehennemi kırabilirsin. Başka bir deyişle, MQL'de normal çalışan programlar yazamıyorsanız, bu sizin sorununuz, MQL değil, hepsi bu. C'de bir buggy dll yazabilirsiniz, ancak bu, C'nin mükemmel bir dil olduğu gerçeğini ortadan kaldırmaz. Yani burada, kötü bir dansçı için, yani. toplar sana müdahale eder. Hatalarınız için MT veya MS'yi suçlama arzunuzu anlıyorum. Bu yaşla birlikte geçmezse, hiçbir şey size yardımcı olmaz.

Yaşınızdaki avatarınıza bakılırsa, kırılacak ve müdahale edilecek hiçbir şey yok.

DLL dosyalarımı gördün mü? Ve neden onlara kötü sözler diyorsun? Hatalar, hiç yazmadım ve yazmıyorum - bunun için zamanım yok. Bu durumdaki aksaklık meta alıntılarla yazılmıştır (bu arada, MS'e karşı herhangi bir iddiada bulunmadım). Hayatınızda bir dll'ye 2 + 2'den daha karmaşık bir şey girmediyseniz, bu başkalarının girmediği anlamına gelmez. 2 + 2 başarısız olmayacak

 
jartmailru >> :

Eğlenceli kişi.

Her şeye test ile karar verilir.


Test ettim ve benim için iyi çalışıyor.


jartmailru >> :

Peki, dll'yi al, danışmandan çıkar - kaldırmayı başarırsan

MT çalışırken, işte bu kadar, sen bir kahramansın, tebrikler!

Yapamıyorsanız neden buraya yazıyorsunuz? Kimin için?

Zakachiki, ürünlerinizle çalışırken onları nasıl bir tavrın beklediğini görsün diye mi?

Ya da herkesin tavsiye için kime başvurmayacağını tam olarak bilmesi için mi?


"Çıkarılabilir" ne anlama geliyor? Danışmanda terbiyeli davranmak için borçlarım var. Muhtemelen tamamen yanlış bir şey yapıyorum.

 
HideYourRichess >> :

bu senin sorunun, MQL değil

Yorumlayıcı hatalı değilse, burada olsa bile koddaki komutları atlamayacaktır!

 
HideYourRichess >> :

"Çıkarılabilir" ne anlama geliyor? Danışmanda terbiyeli davranmak için borçlarım var. Muhtemelen tamamen yanlış bir şey yapıyorum.

Bu, Expert Advisor'da belirli bir dll belirtmeniz gerektiği anlamına gelir.

Ardından danışmanı çalıştırın ve metatrader'dan çıkmayın.

Ardından, en önemli kullanım durumu, dll'yi yenisiyle değiştirdiğimizi varsaymaktır.

Metatrader çalışırken bu başarısız olursa (ve dosyayı silerek kontrol ederim) -

yani sistem dll'nin kullanımda olduğunu düşünüyor-

işte. Expert Advisor işini tamamladı, ancak Dll kaldırılmadı.

Şimdi, Dll'yi değiştirmek için tüm uygulamayı yeniden başlatmanız gerekiyor.

 
AlexEro >> :

Hastayım

H1N1;)

önceden yapılmış previfka

 
alsu >> :

Yaşınızdaki avatarınıza bakılırsa, kırılacak ve müdahale edilecek hiçbir şey yok.

DLL dosyalarımı gördün mü? Ve neden onlara kötü sözler diyorsun? Hatalar, hiç yazmadım ve yazmıyorum - bunun için zamanım yok. Bu durumdaki aksaklık meta alıntılarla yazılmıştır (bu arada, MS'e karşı herhangi bir iddiada bulunmadım). Hayatınızda bir dll'ye 2 + 2'den daha karmaşık bir şey girmediyseniz, bu başkalarının girmediği anlamına gelmez. 2 + 2 başarısız olmayacak


Ooooh, Mösyö avatarla dalga geçmek için eğildi. Bir sonraki adım, takma adı bozma girişimleridir.


Önceki konuşmanızda ne hakkında konuştunuz? Şaşıran halka ne tür dehşetler anlatıldı? Buna bakıyorum - gerçekten kafam karıştı. Bunu elde etmek için çok çalışmanız gerekiyor. Bu nedenle, dll'lerinizle ilgili kötü sözler. Ama sizin tanımladığınız bu dehşetler dll'yi ilgilendirmiyorsa - onlar hakkında ne anlatıyorsunuz?


Bu arada 2+2 ne anlama geliyor? Nedir bu, bir zorluk ölçüsü mü? Excel'de olduğu gibi 2 + 2 gibi bir şeyi kendi başınıza uygulamaya çalışın - ne kadar zor olduğuna şaşıracaksınız.

Neden: