Sviluppatori! Testate anche quello che create? - pagina 15

 

Cari sviluppatori! Testate effettivamente ciò che rilasciate?

Ho installato Windows 8.1 64 bit - con licenza - sul mio computer. E poi ho avuto dei problemi. Per prima cosa, ho installato Metatrader 4 su autorun in C:\Program Files (x86). Quando si cerca di scrivere i file sono iniziati i problemi. Come si è scoperto questo Windows ha un'alta - scusate il mio linguaggio - sicurezza di merda, e io sono l'unico utente e amministratore del computer, non posso fare nulla nella directory di sistema, a meno che non clicchi "Come amministratore". Dopo aver letto il forum, ho deciso di reinstallare Metatrader 4 non in Program Files (x86), ma in un'altra cartella creata appositamente sul mio disco C, preinstallando MT4. Ma non ha funzionato. Il disinstallatore ha detto che non hai il diritto di farlo. Non ho potuto davvero resistere e ho fatto del mio meglio per disinstallare. Ho fatto tutto quello che potevo. Come amministratore, e permettendo a tutti nella Sicurezza di fare qualsiasi cosa. Ho anche reinstallato di nuovo Windows, e tutto sommato mi ci sono voluti quasi 2 giorni. Poi ho trovato per caso un piccolo messaggio sul forum inglese di MT, che si deve controllare la modalità di compatibilità per Win XP SP3, e mettere un segno di spunta - eseguire l'operazione come amministratore. Poi solo come amministratore il terminale è stato disinstallato. Ho tirato un piccolo sospiro di sollievo.

Poi ho deciso di installare Metatrader 5. Sapendo che era pericoloso installarlo nella directory di sistema, l'ho installato in una cartella appositamente creata sul disco C. Il mio installatore non mi ha chiesto se volevo installare la versione a 64 bit e ha installato forzatamente MT5 della versione a 64 bit. Ho cercato di lavorarci. Dopo alcuni passi, come la creazione di indicatori, la scrittura di file e il tentativo di collegare la DLL, ho scoperto che i file e le librerie mancano nella directory di installazione. Ma né i file DLL, né gli esempi scaricati da Code Base sono stati creati o chiamati per la compilazione. Ho speso molto tempo e nervi per trovare la causa. Poi ho appena commentato TerminalPath - dove sparisce tutto? Risulta essere la cartella C:\Users\...\AppData. Ho cercato di trovarlo - senza fortuna. Non era affatto elencato. Poi in qualche modo ho capito che era nascosto. E ho trovato su internet come permettere alle cartelle nascoste di essere mostrate. Sì, tutte le cartelle e i file necessari sono apparsi in C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Anche se ho volutamente evitato le directory di sistema per evitare problemi inutili. No, il programma di installazione li ha creati. Cioè, capite, quel semplice utente non poteva fare quello che ho fatto io prima di arrivare a queste cartelle.

Poi ho provato a collegare la DLL. Silenzioso come in un carro armato - non lo vede, non importa dove lo infilerei. È stato creato in VS2013 Desktop in C++, ultima versione e ha funzionato con successo in MT4. Dopo aver guardato un esempio dall'articolo "Come scrivere una DLL in 10 minuti", ho passato mezza notte come un pazzo cercando di collegarla. Poi ho cambiato i percorsi e il terminale l'ha finalmente vista e ha avvertito che non era una DLL a 64 bit e si è rifiutato di collegarla. Naturalmente, ho capito che in tutti gli esempi le DLL sono create come un'applicazione Win32 e non creano 64 bit. Bene, cosa fare dopo? Ho deciso di sperimentare con MT5 - 32 bit. Il mio installatore non me l'ha permesso e mi ha costretto a installare 64 bit. Più tardi, mi sono imbattuto in un forum che MT5 32 bit può essere installato dalla linea di comando {mt5setup.exe /32) e ho installato la versione 32 bit. Ho collegato le DLL e l'ho fatto funzionare correttamente. Ho dovuto disinstallare la versione a 64 bit perché era un'applicazione morta e problematica.

Ho volutamente descritto tutto così a fondo per gli sviluppatori per cercare di entrare nella pelle dell'utente.

Domanda. La domanda è perché, nonostante il fatto che non l'ho installato nella directory di sistema, l'installatore mette ancora tutto in cartelle nascoste, che semplicemente non posso raggiungere, almeno per metterci indicatori scaricati da Code Base o script. E non potevo arrivare alla cartella Files dove potevo scrivere alcuni risultati del mio lavoro? Per essere onesti, ho avuto un impulso emotivo a mandare MT5 lontano, con tutti questi problemi, scusate l'espressione - vampirismo di tempo ed energia nervosa e difetti. Ma ho resistito per pura forza.

E la seconda domanda. Le DLL a 32 bit dovrebbero essere disponibili nella versione a 64 bit, perché il terminale a 64 bit è un po' morto senza?

E un'altra domanda. Ci sono piani per fornire un'opportunità di connessione C# DLL per creare DLL a 64 bit senza problemi?

E un'altra cosa. Microsoft sta facendo un tentativo quasi forzato di sostituire C++ con C# come linguaggio di programmazione principale. Nell'ultimo VS2013 hanno persino rimosso la possibilità di impostare il lavoro con i moduli e rispondendo alla domanda "perché?" sul forum con la domanda "perché non provi a usare un C# più perfetto? Poi si scopre che a lungo andare il C++ può andare al 2° posto o sparire del tutto. Il nuovo terminale dovrebbe essere fatto con C# come base del linguaggio?

 
ANG3110:

Poi ho deciso di installare Metatrader 5. Sapendo che era pericoloso installarlo nella directory di sistema, l'ho installato in una cartella creata appositamente sul mio disco C. Ho cercato di lavorarci. Dopo alcuni passi, come la creazione di indicatori, la scrittura di file e il tentativo di collegare la DLL, ho scoperto che i file e le librerie mancano nella directory di installazione. Ma né i file DLL, né gli esempi scaricati da Code Base sono stati creati o chiamati per la compilazione. Ho speso molto tempo e nervi per trovare la causa. Poi ho appena commentato TerminalPath - dove sparisce tutto? Risulta essere la cartella C:\Users\...\AppData. Ho cercato di trovarlo - senza fortuna. Non era affatto elencato. Poi in qualche modo ho capito che era nascosto. E ho trovato su internet come permettere alle cartelle nascoste di essere mostrate. Sì, tutte le cartelle e i file necessari sono apparsi in C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Anche se ho volutamente evitato le directory di sistema per evitare problemi inutili. No, il programma di installazione li ha creati. Quindi capite che un semplice utente non può assolutamente fare quello che ho fatto io prima di arrivare a queste cartelle.


dopo aver installato il terminale a 64 bit, non aprirlo immediatamente, prima crea un collegamento, e nelle proprietà dove si trova l'oggetto metti la chiave /portable

come questo: D:-MT5\terminal64.exe /portable

Allora tutte le cartelle non appariranno da qualche parte ma nella cartella del vostro terminale

 
Olegts:

come questo: D:-MT5\terminal64.exe /portable

Allora tutte le cartelle non appariranno da nessuna parte, ma nella cartella del vostro terminale.

e anche per l'editore

e anche ovunque nel registro per aprire i file mql con un doppio clic.

 
sergeev:

così come per l'editore

e anche ovunque nel registro per aprire i file mql con un doppio clic.

sei un moderatore o cosa?

la persona aveva un problema, gli ho detto come risolverlo parzialmente, perché sei sarcastico?

 
Olegts:

sei un moderatore o qualcosa del genere?

la persona aveva un problema, ho suggerito come risolverlo parzialmente, perché il sarcasmo?

Avevi paura dei moderatori quando eri un bambino? Perché ti arrabbi e diventi insistente?

Ho solo ampliato la tua risposta incompleta.

Tu stesso hai scritto che gli hai consigliato come risolvere "parzialmente" il problema. perché dovrebbe averne bisogno per metà?

 
sergeev:

Sei stato intimidito dai moderatori da bambino? Perché ti scaldi tanto?

Ho solo ampliato la tua risposta incompleta.

Lei scrive di averlo consigliato come "parzialmente". perché avrebbe bisogno di mezze misure?

Personalmente, non lavoro senza portatili. Ho una cartella separata con circa 20 terminali e so esattamente dove sono MQL5 e le altre cartelle, non da qualche parte sconosciuta. L'idea è che si è messo nei guai con un miracolo chiamato 8.1 che è stato fatto da Softwares e pensa che la colpa sia dei meta-citi. Bisogna aiutarlo, non mostrargli superiorità.

 
Perché il percorso del terminale non è elencato nel collegamento? È Bill Gates, non gli tirano le uova per niente).
 
Olegts:

Personalmente, non lavoro senza un portatile, ho una cartella separata,

Ho un paio di giga sul mio hard disk e FAT32, non ho nemmeno bisogno del portatile.

 
ANG3110:

Cari sviluppatori! Testate effettivamente ciò che rilasciate?

Lo testiamo. E lo facciamo pubblicamente da tredici anni.


Ho installato Windows 8.1 64 bit - con licenza - sul mio computer. E poi ho avuto dei problemi. Per prima cosa, ho installato Metatrader 4 su autorun in C:\Program Files (x86). Quando si cerca di scrivere i file sono iniziati i problemi. Come si è scoperto questo Windows ha elevato, scusate il mio linguaggio, sicurezza di merda, e io sono l'unico utente e amministratore del computer non può fare nulla nella directory di sistema fino a quando non clicco "Come amministratore". Dopo aver letto il forum, ho deciso di reinstallare Metatrader 4 non in Program Files (x86), ma in un'altra cartella creata appositamente sul mio disco C, preinstallando MT4. Ma non ha funzionato. Il disinstallatore ha detto che non hai il diritto di farlo. Non ho potuto davvero resistere e ho fatto del mio meglio per disinstallare. Ho fatto tutto quello che potevo. Come amministratore, e permettendo a tutti nella Sicurezza di fare qualsiasi cosa. Ho anche reinstallato di nuovo Windows, e tutto sommato mi ci sono voluti quasi 2 giorni. Poi ho trovato per caso un piccolo messaggio sul forum inglese di MT, che si deve controllare la modalità di compatibilità per Win XP SP3, e mettere un segno di spunta - eseguire l'operazione come amministratore. Poi solo come amministratore il terminale è stato disinstallato. Ho tirato un piccolo sospiro di sollievo.

Hai incontrato il solito problema con i vecchi programmi non ben adattati a Windows 8. Cioè, il problema è con la sicurezza del sistema operativo. Sì, Microsoft in Windows 8 ha davvero messo tutti con le spalle al muro e non permette più di scrivere e memorizzare dati dove si vuole.

Per risolvere questi problemi stiamo rilasciando la nuova MetaTrader 4, che utilizza un moderno modello di archiviazione dei dati come fa MetaTrader 5.


Poi ho deciso di installare Metatrader 5. Sapendo già che l'installazione in

Il programma di installazione non mi ha chiesto se volevo installare la versione a 64 bit e ha installato MT5 64 bit per forza. Ho cercato di lavorarci. Dopo alcuni passi, come la creazione di indicatori, la scrittura di file e il tentativo di collegare la DLL, ho scoperto che i file e le librerie mancano nella directory di installazione. Ma né i file DLL, né gli esempi scaricati da Code Base sono stati creati o chiamati per la compilazione. Ho speso molto tempo e nervi per trovare la causa. Poi ho appena commentato TerminalPath - dove sparisce tutto? Risulta essere la cartella C:\Users\...\AppData. Ho cercato di trovarlo - senza fortuna. Non era affatto elencato. Poi in qualche modo ho capito che era nascosto. E ho trovato su internet come permettere alle cartelle nascoste di essere mostrate. Sì, tutte le cartelle e i file necessari sono apparsi in C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Anche se ho volutamente evitato le directory di sistema per evitare problemi inutili. No, il programma di installazione li ha creati. Cioè, capite che un semplice utente non può fare quello che ho fatto prima di arrivare a queste cartelle.

Ragionate così, criticate e date consigli agli sviluppatori, ma non conoscete le regole di base della sicurezza di Windows. Questo è tutto, il sistema operativo non concede più alcun diritto di scrivere su Program Files. La posizione di archiviazione raccomandata è solo in AppData.

Se stai lavorando in modalità normale, tutto va bene - tutti i dati sono al loro posto e le directory di lavoro sono disponibili in File -> Open Data Directory.


Poi ho provato a collegare la DLL. Silenzioso come in un carro armato - non lo vede, non importa dove lo infilo. È stato creato in VS2013 Desktop in C++, ultima versione e ha funzionato bene in MT4. Dopo aver guardato un esempio dall'articolo "Come scrivere una DLL in 10 minuti", ho passato mezza notte come un pazzo cercando di collegarla. Poi ho cambiato i percorsi e il terminale l'ha finalmente visto e ha avvertito che non era una DLL a 64 bit e si è rifiutato di collegarla. Naturalmente, ho capito che in tutti gli esempi le DLL sono create come un'applicazione Win32 e non creano 64 bit. Bene, cosa fare dopo? Ho deciso di sperimentare con MT5 - 32 bit. Il mio installatore non me l'ha permesso e mi ha costretto a installare 64 bit. Più tardi, mi sono imbattuto in un forum che MT5 32 bit può essere installato dalla linea di comando {mt5setup.exe /32) e ho installato la versione 32 bit. Ho collegato le DLL e l'ho fatto funzionare. La versione a 64 bit ha dovuto essere disinstallata come un'applicazione morta e problematica.

Se è la tua DLL, basta ricompilarla in modalità 64 bit.

Non dovete battere la testa contro il muro e pretendere che le librerie a 32 bit possano o debbano funzionare in programmi a 64 bit. Vi è già stato spiegato su un forum vicino, ma fate ancora finta di non capirlo.

Ho volutamente descritto tutto in modo così dettagliato in modo che gli sviluppatori potessero cercare di entrare nella pelle dell'utente.

Sfortunatamente, lei ha descritto dettagliatamente le sue idee sbagliate. Apparentemente le parole di un programmatore (DLL, directory, programmi), ma non conosci davvero le basi.

Domanda. Perché, nonostante il fatto che non sto installando nella directory di sistema, l'installatore mette comunque tutto in cartelle nascoste, nelle quali non riesco proprio ad entrare, per metterci almeno gli indicatori o gli script scaricati da Code Base. E non potevo arrivare alla cartella Files dove potevo scrivere alcuni risultati del mio lavoro? Per essere onesti, ho avuto un impulso emotivo a mandare MT5 lontano, con tutti questi problemi, scusate l'espressione - vampirismo di tempo ed energia nervosa e difetti. Ma ho resistito per pura forza.

Perché queste sono le regole di Microsoft (sì, è vero). Con il rilascio di Windows 8, è praticamente o fare come dice Microsoft o impostare i client per i divieti di scrittura.

C'è l'interruttore /portable per coloro che vogliono mantenere i file di lavoro nella loro directory contro.


E una seconda domanda. Le DLL a 32 bit saranno disponibili nella versione a 64 bit, perché il terminale a 64 bit è un po' morto senza?

No, è tecnicamente impossibile in linea di principio (senza fanatismo). Sono le librerie a 64 bit che sono necessarie.


E un'altra domanda. Avete intenzione di fornire un'opportunità di connessione C# DLL per creare DLL a 64 bit senza problemi?

I soliti programmi fanno facilmente anche versioni a 64 bit. Dove hai trovato il problema?


E un'altra cosa. Microsoft sta facendo un tentativo quasi forzato di sostituire C++ con C# come linguaggio di programmazione principale. Nell'ultimo VS2013 hanno persino rimosso la possibilità di impostare il lavoro con i moduli e rispondendo alla domanda "perché?" sul forum con la domanda "perché non provi a usare un C# più perfetto? Poi si scopre che a lungo andare il C++ può andare al 2° posto o sparire del tutto. Il piano è di fare un nuovo terminale con C# come base del linguaggio?

Quando vogliamo rovinare il nostro business, allora sì - passeremo a C#. Sarà solo un grande metodo.

Per non avere problemi, usate MQL4/MQL5 - funzionano come C# e si agganciano automaticamente al codice nativo a 32 e 64 bit in fase di esecuzione.

Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - MQL4 форум
  • www.mql5.com
Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - MQL4 форум
 

Io, naturalmente, capisco perfettamente.

Una persona che è passata da Windows XP a Windows 7/Windows 8 un paio di mesi fa è destinata a rompere gli schemi. Ma, come si dice, ognuno è il proprio Pinocchio malvagio - questo è il prezzo da pagare per un decennio di auto-inganno e di chiudere un occhio sui cambiamenti dei sistemi operativi.

Motivazione: