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

 
alsu >> :

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

Bu sadece gerekli değil, böyle üstünlükler, "buggy". Tercümanın birkaç hatası varsa, bu onun hatalı olduğu anlamına gelmez. En azından aynı VC'nin hata raporuna bir göz atın, "buggy"nin ne olduğunu anlamak için şiddetle tavsiye ederim. Durum çok daha kötü, ancak aklı başında hiç kimse VC'yi "buggy" olarak düşünmeye cesaret edemez. Yani burada da.


Ve genel olarak, dll ile ilgili miydi? Bu dll'nin doğru yazıldığına dair itirazlar var - doğru davranıyor mu? ve bir dll'yi kaldırmanın tek doğru yolu, belgelerde önerilen standart bir yol var mı?

 
alsu >> :

AlexEro,

(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ı)!!!


 int start ( )
   {
   for ( int i = 11 ; i > = 0 ; i - - ) continue ;
   Alert ( i ) ;
   return ( 0 ) ;
   }

))) Öyle mi demek istedin?

Ne çirkin! Ve bilmiyordum!!!

(Bugün ne gün çok ... sakar)

 
jartmailru >> :

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.

Vay be, açıklamanızdan doğru anladıysam, o zaman dll'nin bağlı olduğu Expert Advisor çalışırken dll'nin kendisini değiştirmenizi mi öneriyorsunuz?! Danışmanı durdurmayı (bir düğmeyle değil), ardından dll'yi değiştirmeyi ve danışmanı yeniden başlatmayı denediniz mi?

 
alsu писал(а) >>

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.

Programın mesaj kuyruğu işleyicilerinin, yürütülmekte olan kodun her yerinde aynı anda "büyük ve korkunç Merlin gibi" olması gerektiğini düşünüyor musunuz? Başkasının mesaj kuyruğuna dokunmak için dll'den genel olarak size ne?

Saçını diken diken eden şeyler gördüm.

Şimdiye kadar, bunlar sadece kelimeler. Lütfen bir kod örneği sağlayın. Sadece benim için ilginç olmayacak.

Genel olarak, dll'nin bu şekilde boşaltılmadığını fark etmedim (bunun hakkında zaten yazdım; dll'yi hem danışmanlarda hem de göstergelerde kullandım; her durumda “belleği çok hevesli bir şekilde işlemek veya terminalden işlemci zamanını yemek zorunda kaldım” ” doğrudan dll'de ve sonuç sorunsuz bir çalışma oldu).

 
Svinozavr >> :

))) Öyle mi demek istedin?

Ne çirkin! Ve bilmiyordum!!!

(Bugün ne gün çok ... sakar)

Tam kodu yeniden oluşturamıyorum, ancak şöyle bir şeydi

 int start ( )
{

. . .

int i ;
for ( i = 100 ; i > = 1 ; i - - ) //отмечу, что здесь было именно 1, а не 0
{
   //че-то делаем
   CallToDLLFunction ( ) ; //здесь вызывалась какая-то простенькая функция, время работы порядка 1-3 миллисекунд
}

if ( i < 0 ) return ( 0 ) ; //эти две строчки вставил уже когда заподозрил неладное
Alert ("i=", i ) ;

return ( 0 ) ;
}

Hızlı bir piyasada, saniyede birkaç tik geldiğinde, böyle bir kod uyarıda i=0,i=-1,i=-2,i=-3 dizisini verir (terminalin kaç tik attığına bağlı olarak). start()) ve ardından tekrar i=0.

Kaçırılan tikler - cehenneme, olur. Ancak bu gerçekleşirse, programın aslında kodda iki kez gerçekleşen koşullu komutun üzerinden atlaması gerektiği anlamına gelmez (for döngüsü de aslında bir dal komutudur)

 
HideYourRichess >> :

Vay be, açıklamanızdan doğru anladıysam, o zaman dll'nin bağlı olduğu Expert Advisor çalışırken dll'nin kendisini değiştirmeyi mi öneriyorsunuz?! Danışmanı durdurmayı (bir düğmeyle değil), ardından dll'yi değiştirmeyi ve danışmanı yeniden başlatmayı denediniz mi?

Tabii ki, test tamamlandıktan sonra dll'yi değiştirmeye çalışmaktan bahsediyoruz.

Ancak, görünüşe göre, mesleki deneyiminiz, yaptığınız hatalardan sonra

Forum üyelerine karşı yanlış ve yanlış tavırlar sözlerle kusur bulmaya başlamaktan daha karlıdır.

.

Ve elbette, büyük profesyonel basit bir test yapmaya çalışmadı ... ya da yaptı.

 
aynı etki, ancak daha büyük bir ölçekte (-100 ve ötesine kadar) terminal başlatıldığında ve gösterge şablondan yüklendiğinde , terim eksik geçmişin sonunu yüklediğinde gözlendi
 
jartmailru >> :

Tabii ki, test tamamlandıktan sonra dll'yi değiştirmeye çalışmaktan bahsediyoruz. Ancak, görünüşe göre, mesleki deneyiminiz, yaptığınız hatalardan ve forum üyelerine karşı yanlış tutumdan sonra, kelimelerle hata bulmaya başlamanın daha karlı olduğunu gösteriyor.

Hayır, deneyimlerimiz tehlikede olanı dikkatlice bulmanız gerektiğini söylüyor. Ve eğer "forumchanin" bir aptalsa, o zaman hiçbir şey olmaz, olur, bunun hakkında yüksek sesle konuşmamalısın bile. Ancak bu, cehaletinde inatçı bir aptalsa - işte burada, kelimeleri seçmek zorunda değilsin. Ve yalan söyleme, hiç hata yapmadım. Senin aksine.


Yani Expert Advisor Dll'de doğru şekilde davranıyor. Beşinci kez ve son kez bildiriyorum. Muhtemelen başka bir dll'im var, sizinki gibi değil, kesinlikle ilginç olmayan gri bir dll.

 
alsu >> :

Tam kodu yeniden oluşturamıyorum, ancak şöyle bir şeydi

Hızlı bir piyasada, saniyede birkaç tik geldiğinde, böyle bir kod uyarıda i=0,i=-1,i=-2,i=-3 dizisini verir (terminalin kaç tik attığına bağlı olarak). start()) ve ardından tekrar i=0.

Kaçırılan tikler - cehenneme, olur. Ancak bu gerçekleşirse, programın aslında kodda iki kez gerçekleşen koşullu komutun üzerinden atlaması gerektiği anlamına gelmez (for döngüsü de aslında bir dal komutudur)

İlk gönderide bahsettiğiniz gibi, i>=1 döngüsünün koşuluyla iyileştirme ve beni şaşırtan ilk gönderide belirttiğiniz gibi, şüpheleri ortadan kaldırıyor - ben de sizin de ... hasta olduğunuzu düşündüm.

Kondisyon atlama? Güzel. Hiç yaşanmadı. Bu sihirli dll nedir? )))

Sonucu çoğaltabilir misin? Ve dll'nin kendisine bakın. İnanmadığımdan değil - sadece gerçekten bu tür dll'leri nasıl yazacağımı öğrenmek istiyorum. Her şeyin dönmesi için. Akıllı insanlarla daha sonra konuşacak bir şey olacak ...

 
HideYourRichess >> :

Yani Expert Advisor Dll'de doğru şekilde davranıyor. Beşinci kez ve son kez bildiriyorum. Muhtemelen başka bir dll'im var, sizinki gibi değil, kesinlikle ilginç olmayan gri bir dll.

Harika! zaten yeni bir düzeye ulaştınız - soyutlama düzeyi.

Muhtemelen, insanlarla, belki de ticarette çalışma deneyimi vardır.

.

İyi. Benzer bir argüman kullanalım. Argümanlarımı kabul etmene çok sevindim.

Kendi adıma, Dll'lerimin daha da doğru çalıştığına dair herkesi temin etmeliyim.

Her durumda, sonuçlar Neuroshell metatrader ve Dll test cihazının sonuçlarıyla eşleşti.

.

Ama basit bir test yapıp geri bildirim yapamayan biri olarak artık bana cevap vermeyin.

Halk hariç.