come scaricare la dll - pagina 8

 
alsu >> :

Se l'interprete non è glitchato, non salterà i comandi nel codice, non importa quanta merda tu faccia!

Non usare questi superlativi, "glitch". Se un interprete ha un paio di glitch, non significa che sia un glitch. Date un'occhiata almeno allo stesso rapporto di bug di VC, lo consiglio vivamente per capire cosa è "glitchato". La situazione è un ordine di grandezza peggiore, ma nessuno sano di mente oserebbe considerare VC "glitch". È lo stesso qui.


E comunque, il dll in questione era qui? C'è qualche obiezione sul fatto che una dll scritta correttamente si comporta correttamente? e l'unico modo corretto di scaricare la dll è quello standard raccomandato nella documentazione?

 
alsu >> :

AlexEro,

Ciclo sulla serie temporale for(i=limite;i>=0;i--) dopo aver finito è volato nella zona degli indici negativi (che è stata inevitabilmente confermata dagli avvisi)!!!!


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

))) Dicevi sul serio?

Che pasticcio! Non lo sapevo!!!

(Che giornata... sciatta oggi)

 
jartmailru >> :

Quello che si intende è che bisogna specificare una specifica dll nell'EA.

Poi esegui l'EA e non uscire da Metatrader.

Poi - il caso d'uso più importante - dobbiamo fingere di sostituire la dll con una nuova.

Se fallisce quando il metatrader è in funzione (e controllo cancellando il file) - allora

allora il sistema pensa che la DLL sia in uso...

voilà. L'Expert Advisor ha completato il suo lavoro e la dll non è stata scaricata.

Ora devo riavviare l'intera applicazione per sostituire la dll.

Accidenti, se ho capito bene la tua descrizione, allora stai suggerendo di sostituire la dll stessa quando l'EA è in esecuzione, a cui la dll è agganciata?! Hai provato a fermare l'EA (non con un pulsante), poi a sostituire la dll e a riavviare l'EA?

 
alsu писал(а) >>

Ma non appena un programmatore terrorizzato inizia a manipolare con eccessivo zelo la memoria o a rubare il tempo del processore dal terminale per i suoi calcoli, o a toccare la sacra (oh mio Dio) - coda di messaggi terminal.exe, il malefico methaquot si vendicherà.

E pensate che i gestori delle code di messaggi del programma debbano essere "come Merlino, il grande e terribile" in tutti i frammenti di codice che vengono eseguiti? Perché dovreste toccare la coda dei messaggi di qualcun altro da una dll?

Ho incontrato queste cose che ti fanno rizzare i capelli.

Finora sono solo parole. Dammi un esempio di codice. Non sono l'unico interessato.

In generale, non ho riscontrato il mancato caricamento della dll in quanto tale (l'ho già scritto; ho usato la dll sia in Expert Advisors che in indicatori; in tutti i casi ho dovuto "manipolare troppo zelantemente la memoria o usare il tempo della cpu" direttamente nella dll e il risultato era un funzionamento indesiderato).

 
Svinozavr >> :

))) È questo che intendevi?

Che pasticcio! Non lo sapevo!!!

(Che giornata... incasinata è oggi).

Non posso riprodurre esattamente il codice, ma era qualcosa come questo

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);
}

In un mercato veloce, quando si ricevono diversi tick al secondo, questo codice produce negli avvisi una sequenza i=0, i=-1, i=-2, i=-3 (a seconda di quanti tick il terminale ha perso fino all'esecuzione di start()) e poi i=0 di nuovo.

Zecche mancate - al diavolo, succede. Ma se succede, non significa che il programma deve saltare un comando condizionale, che in realtà succede due volte nel codice (anche il ciclo for è essenzialmente un comando di ramificazione).

 
HideYourRichess >> :

Porca puttana, se ho capito bene dalla tua descrizione, stai suggerendo di sostituire la dll stessa quando l'EA è in esecuzione, a cui la dll è agganciata?! Hai provato a fermare l'EA (non con un pulsante), poi a sostituire la dll e a riavviare l'EA?

Naturalmente, stiamo parlando di cercare di sostituire la dll al termine dei test.

Ma a quanto pare la tua esperienza professionale suggerisce che dopo gli errori che hai fatto

e l'atteggiamento scorretto nei confronti degli utenti del forum, è più redditizio iniziare a prendersela con le parole.

.

E naturalmente il grande professionista non ha provato a fare un semplice test...o l'ha fatto.

 
stesso effetto, ma su una scala più grande (fino a -100 e oltre) osservato quando si avvia il terminale e si carica l'indicatore dal modello, quando il termine carica la fine della storia mancante
 
jartmailru >> :

Naturalmente, stiamo parlando di cercare di sostituire la dll al termine dei test. Ma a quanto pare la tua esperienza professionale suggerisce che è più redditizio iniziare a prendersela con le parole dopo gli errori che hai fatto e il tuo atteggiamento scorretto nei confronti dei membri del forum.

No, la nostra esperienza dice che bisogna stare attenti a scoprire di cosa si parla. E se un "membro del forum" è un pazzo - va bene, succede, non si dovrebbe nemmeno parlarne ad alta voce. Ma se è un pazzo testardo nella sua ignoranza - è vero, non c'è scelta di parole. E non c'è bisogno di mentire, non ho fatto nessun errore. A differenza di te.


Bene, Dll nel mio Expert Advisor si comporta correttamente. Questa è la quinta volta che te lo dico, e l'ultima. Forse ho un dll diverso, un dll così grigio, assolutamente poco interessante, non come il tuo.

 
alsu >> :

Non posso riprodurre esattamente il codice, ma era qualcosa come questo

In un mercato veloce, quando si ricevono diversi tick al secondo, questo codice ha prodotto negli avvisi una sequenza i=0,i=-1,i=-2,i=-3 (a seconda di quanti tick il terminale ha perso fino all'esecuzione di start()) e poi i=0 di nuovo.

Zecche mancate - al diavolo, succede. Ma se ciò accade, non significa che il programma deve saltare un comando condizionale, che in realtà accade due volte nel codice (il ciclo for è anche un comando di ramificazione).

Il chiarimento della condizione di loop i>=1 piuttosto che 0, come hai citato nel mio confuso primo post, toglie il sospetto - stavo cominciando a pensare che fossi andato anche tu... anche malato.

Condizioni di salto? Fico. Non è mai successo. Cos'è questo dll magico? )))

Puoi riprodurre il risultato? E vedere il dll stesso. Non che non ci creda - voglio solo imparare a scrivere tali DLL. In modo che tutto si incastri al posto giusto. Avrò qualcosa di cui parlare con persone intelligenti più tardi...

 
HideYourRichess >> :

Quindi, nel mio EA la Dll si comporta correttamente. Per la quinta volta che faccio rapporto, e per l'ultima volta. Devo avere una dll diversa, una dll così grigia e assolutamente poco interessante, non come la tua.

Bene, avete già raggiunto un nuovo livello, un livello di astrazione.

Probabilmente hai esperienza nel lavoro con le persone, forse nel commercio.

.

Bene, applichiamo questo tipo di ragionamento. Sono molto contento che lei abbia accettato i miei argomenti.

Da parte mia devo solo assicurare a tutti che le mie Dll funzionano ancora più correttamente.

In ogni caso, i risultati sono stati gli stessi di quelli del tester Metatrader e della Dll di Neuroshell.

.

Ma come qualcuno incapace di eseguire un semplice test e riferire, non rispondetemi più.

>> Tranne che per il pubblico.

Motivazione: