Entwickler! Testen Sie überhaupt, was Sie schaffen? - Seite 15

 

Liebe Entwickler! Testen Sie tatsächlich, was Sie veröffentlichen?

Ich habe Windows 8.1 64 Bit - lizenziert - auf meinem Computer installiert. Und dann hatte ich einige Probleme. Zunächst habe ich Metatrader 4 per Autorun in C:\Programme (x86) installiert. Beim Versuch, Dateien zu schreiben, traten Probleme auf. Wie sich herausstellte, hat dieses Windows erhöhte, entschuldigen Sie meine Sprache, beschissene Sicherheit, und ich bin der einzige Benutzer und Administrator des Computers kann nichts im Systemverzeichnis tun, bis ich "Als Administrator" klicken. Nach der Lektüre des Forums beschloss ich, Metatrader 4 nicht unter Programme (x86), sondern in einem anderen speziell erstellten Ordner auf meinem Laufwerk C neu zu installieren, in dem MT4 vorinstalliert ist. Aber es hat nicht funktioniert. Der Deinstallateur sagte, dass Sie dazu keine Rechte haben. Ich konnte wirklich nicht widerstehen und habe mein Bestes getan, um es zu deinstallieren. Ich habe alles getan, was ich konnte. Als Administrator, und jeder im Sicherheitsbereich darf alles tun. Ich habe sogar Windows neu installiert, was insgesamt fast 2 Tage gedauert hat. Dann fand ich zufällig eine kleine Nachricht auf MT English Forum, dass man den Kompatibilitätsmodus für Win XP SP3 überprüfen muss, und setzen Sie ein Häkchen - führen Sie den Vorgang als Administrator. Dann wurde nur als Administrator das Terminal deinstalliert. Ich atmete ein wenig erleichtert auf.

Dann habe ich beschlossen, Metatrader 5 zu installieren. Da ich wusste, dass es gefährlich war, es im Systemverzeichnis zu installieren, installierte ich es in einem eigens dafür angelegten Ordner auf Laufwerk C. Mein Installationsprogramm fragte mich nicht, ob ich die 64-Bit-Version installieren wollte, und installierte MT5 in der 64-Bit-Version zwangsweise. Ich habe versucht, mit ihr zu arbeiten. Nach einigen Schritten, wie dem Erstellen von Indikatoren, dem Schreiben von Dateien und dem Versuch, die DLL zu verbinden, habe ich festgestellt, dass die Dateien und Bibliotheken im Installationsverzeichnis fehlen. Aber weder DLL-Dateien noch heruntergeladene Beispiele von Code Base wurden erstellt oder zur Kompilierung aufgerufen. Es hat mich viel Zeit und Nerven gekostet, die Ursache zu finden. Dann habe ich einfach TerminalPath auskommentiert - wohin verschwindet das alles? Es stellt sich heraus, dass es sich um den Ordner C:\Benutzer\...\AppData handelt. Ich habe versucht, sie zu finden - ohne Erfolg. Sie war überhaupt nicht aufgeführt. Dann habe ich irgendwie gemerkt, dass es versteckt war. Und ich habe im Internet herausgefunden, wie man versteckte Ordner anzeigen lassen kann. Ja, alle benötigten Ordner und Dateien wurden in C:\Benutzer\...\AppData\Roaming\MetaQuotes\Terminal angezeigt. Allerdings habe ich Systemverzeichnisse absichtlich vermieden, um unnötige Probleme zu vermeiden. Nein, das Installationsprogramm hat sie erstellt. Das heißt, Sie verstehen, dass ein einfacher Benutzer nicht tun konnte, was ich getan habe, bevor ich zu diesen Ordnern kam.

Als nächstes habe ich versucht, die DLL zu verbinden. Leise wie in einem Tank - er sieht es nicht, egal wohin ich ihn schieben würde. Es wurde in VS2013 Desktop in C++, neueste Version erstellt und funktionierte erfolgreich in MT4. Nachdem ich mir ein Beispiel aus dem Artikel "How to write a DLL in 10 minutes" angesehen habe, habe ich eine halbe Nacht wie ein Narr damit verbracht, es zu verbinden. Dann änderte ich die Pfade, und das Terminal erkannte sie schließlich und warnte, dass es sich nicht um eine 64-Bit-DLL handelte, und weigerte sich, sie zu verbinden. Natürlich habe ich verstanden, dass in allen Beispielen DLL als Win32-Anwendung erstellt werden und sie werden nicht 64 Bit erstellen. Was ist als nächstes zu tun? Ich beschloss, mit MT5 - 32 Bits zu experimentieren. Mein Installationsprogramm hat das nicht zugelassen und mich gezwungen, 64 Bit zu installieren. Später stieß ich auf ein Forum, dass MT5 32 Bits von der Kommandozeile aus installiert werden kann {mt5setup.exe /32) und installierte die 32-Bit-Version. Ich verband DLLs und bekam es richtig funktioniert. Ich musste die 64-Bit-Version deinstallieren, da sie eine tote und problematische Anwendung war.

Ich habe alles absichtlich so gründlich beschrieben, damit die Entwickler versuchen können, sich in die Haut des Benutzers hineinzuversetzen.

Frage. Die Frage ist, warum, trotz der Tatsache, dass ich es nicht in das System-Verzeichnis zu installieren, legt das Installationsprogramm immer noch alles in versteckten Ordnern, die ich einfach nicht zu bekommen, zumindest dort zu setzen aus Code Base Indikatoren oder Skripte heruntergeladen. Und ich konnte nicht auf den Ordner Dateien zugreifen, in den ich die Ergebnisse meiner Arbeit schreiben konnte? Um ehrlich zu sein, hatte ich einen emotionalen Impuls, MT5 weit weg zu schicken, mit all diesen Problemen, entschuldigen Sie den Ausdruck - Vampirismus von Zeit und nervöser Energie und Defekten. Aber ich habe mich aus purer Kraft gewehrt.

Und die zweite Frage. Sollen 32-Bit-DLLs in der 64-Bit-Version verfügbar sein, weil das 64-Bit-Terminal ohne sie so gut wie tot ist?

Und noch eine Frage. Gibt es Pläne, eine Möglichkeit der C#-DLL-Verbindung zu bieten, damit sie 64-Bit-DLLs ohne Probleme erstellen können?

Und noch eine Sache. Microsoft versucht fast zwangsweise, C++ durch C# als Hauptprogrammiersprache zu ersetzen. In der neuesten VS2013 haben sie sogar die Möglichkeit entfernt, die Arbeit mit Formularen einzustellen und die Frage "Warum?" im Forum mit der Frage zu beantworten "Warum versuchst du nicht, perfekteres C# zu verwenden? Dann stellt sich heraus, dass C++ auf lange Sicht auf Platz 2 landen oder ganz verschwinden könnte. Soll das neue Terminal mit C# als Grundlage der Sprache erstellt werden?

 
ANG3110:

Dann habe ich beschlossen, Metatrader 5 zu installieren. Da ich wusste, dass es gefährlich war, es im Systemverzeichnis zu installieren, installierte ich es in einem eigens erstellten Ordner auf meinem Laufwerk C. Ich habe versucht, mit ihr zu arbeiten. Nach einigen Schritten, wie dem Erstellen von Indikatoren, dem Schreiben von Dateien und dem Versuch, die DLL zu verbinden, habe ich festgestellt, dass die Dateien und Bibliotheken im Installationsverzeichnis fehlen. Aber weder DLL-Dateien noch heruntergeladene Beispiele von Code Base wurden erstellt oder zur Kompilierung aufgerufen. Es hat mich viel Zeit und Nerven gekostet, die Ursache zu finden. Dann habe ich einfach TerminalPath auskommentiert - wohin verschwindet das alles? Es stellt sich heraus, dass es sich um den Ordner C:\Benutzer\...\AppData handelt. Ich habe versucht, sie zu finden - ohne Erfolg. Sie war überhaupt nicht aufgeführt. Dann habe ich irgendwie gemerkt, dass es versteckt war. Und ich habe im Internet herausgefunden, wie man versteckte Ordner anzeigen lassen kann. Ja, alle erforderlichen Ordner und Dateien wurden in C:\Benutzer\...\AppData\Roaming\MetaQuotes\Terminal angezeigt. Allerdings habe ich Systemverzeichnisse absichtlich vermieden, um unnötige Probleme zu vermeiden. Nein, das Installationsprogramm hat sie erstellt. Sie verstehen also, dass ein einfacher Benutzer nicht in der Lage sein wird, das zu tun, was ich getan habe, bevor ich zu diesen Ordnern kam.


nach der Installation des 64-Bit-Terminals, öffnen Sie es nicht sofort, erstellen Sie zuerst eine Verknüpfung, und in den Eigenschaften, wo das Objekt ist, setzen Sie die /portable Schlüssel

etwa so: D:\MT5\terminal64.exe /portable

Dann erscheinen alle Ordner nicht irgendwo, sondern in dem Ordner Ihres Terminals

 
Olegts:

etwa so: D:\MT5\terminal64.exe /portable

Dann erscheinen alle Ordner nicht irgendwo, sondern in dem Ordner Ihres Terminals.

und auch für den Herausgeber

und auch überall in der Registry, um mql-Dateien per Doppelklick zu öffnen.

 
sergeev:

sowie für den Herausgeber

und auch überall in der Registry, um mql-Dateien per Doppelklick zu öffnen.

Sind Sie ein Moderator oder was?

Die Person hatte ein Problem, ich habe ihr gesagt, wie sie es teilweise lösen kann. Warum sind Sie so sarkastisch?

 
Olegts:

Sind Sie ein Moderator oder so etwas?

Die Person hatte ein Problem, ich schlug vor, wie man es teilweise lösen kann, warum der Sarkasmus?

hatten sie als kind angst vor moderatoren? warum werden sie wütend und aufdringlich?

Ich habe lediglich Ihre unvollständige Antwort ergänzt.

Sie haben selbst geschrieben, dass Sie ihm eine "Teillösung" empfohlen haben. Warum sollte er die Hälfte davon brauchen?

 
sergeev:

Wurden Sie als Kind von Moderatoren eingeschüchtert? Warum regen Sie sich so auf?

Ich habe gerade Ihre unvollständige Antwort ergänzt.

Sie schreiben, dass Sie ihn "teilweise" beraten haben. Warum sollte er halbe Sachen brauchen?

Ich persönlich arbeite nicht ohne tragbare Geräte. Ich habe einen separaten Ordner mit etwa 20 Terminals, und ich weiß genau, wo MQL5 und die anderen Ordner sind, nicht an einem unbekannten Ort. Die Idee ist, dass er Probleme mit einem Wunderwerk namens 8.1 hat, das von Softwares hergestellt wurde, und er glaubt, dass Meta-Zitate daran schuld sind. Man sollte ihm helfen und nicht seine Überlegenheit demonstrieren.

 
Warum ist der Pfad zum Terminal nicht in der Verknüpfung aufgeführt? Es ist Bill Gates, der wird nicht umsonst mit Eiern beworfen.)
 
Olegts:

Ich persönlich arbeite nicht ohne ein tragbares Gerät, ich habe einen separaten Ordner,

Ich habe ein paar Gigabyte auf meiner Festplatte und FAT32 darauf. Ich brauche nicht einmal eine portable Version.

 
ANG3110:

Liebe Entwickler! Testen Sie tatsächlich, was Sie veröffentlichen?

Wir testen es. Und wir machen das seit dreizehn Jahren öffentlich.


Ich habe Windows 8.1 64 Bit - lizenziert - auf meinem Computer installiert. Und dann hatte ich einige Probleme. Zunächst habe ich Metatrader 4 per Autorun in C:\Programme (x86) installiert. Beim Versuch, Dateien zu schreiben, traten Probleme auf. Wie sich herausstellte, hat dieses Windows erhöhte, entschuldigen Sie meine Sprache, beschissene Sicherheit, und ich bin der einzige Benutzer und Administrator des Computers kann nichts im Systemverzeichnis tun, bis ich "Als Administrator" klicken. Nach der Lektüre des Forums beschloss ich, Metatrader 4 nicht unter Programme (x86), sondern in einem anderen speziell erstellten Ordner auf meinem Laufwerk C neu zu installieren, in dem MT4 vorinstalliert ist. Aber es hat nicht funktioniert. Der Deinstallateur sagte, dass Sie dazu keine Rechte haben. Ich konnte wirklich nicht widerstehen und habe mein Bestes getan, um es zu deinstallieren. Ich habe alles getan, was ich konnte. Als Administrator, und jeder im Sicherheitsbereich darf alles tun. Ich habe sogar Windows neu installiert, was insgesamt fast 2 Tage gedauert hat. Dann fand ich zufällig eine kleine Nachricht auf MT English Forum, dass man den Kompatibilitätsmodus für Win XP SP3 überprüfen muss, und setzen Sie ein Häkchen - führen Sie den Vorgang als Administrator. Dann wurde nur als Administrator das Terminal deinstalliert. Ich atmete ein wenig erleichtert auf.

Sie sind auf das übliche Problem mit älteren Programmen gestoßen, die nicht gut an Windows 8 angepasst sind. Das heißt, das Problem liegt in der Sicherheit des Betriebssystems. Ja, Microsoft hat mit Windows 8 wirklich alle an die Wand gespielt und lässt nicht mehr zu, dass man Daten schreibt und speichert, wo man will.

Um solche Probleme zu lösen, bringen wir den neuen MetaTrader 4 heraus, der ein modernes Datenspeichermodell wie MetaTrader 5 verwendet.


Dann habe ich beschlossen, Metatrader 5 zu installieren. Da wir bereits wissen, dass der Einbau in

Das Installationsprogramm hat mich nicht gefragt, ob ich die 64-Bit-Version installieren möchte und hat MT5 64 Bit zwangsweise installiert. Ich habe versucht, mit ihr zu arbeiten. Nach einigen Schritten, wie dem Erstellen von Indikatoren, dem Schreiben von Dateien und dem Versuch, die DLL zu verbinden, habe ich festgestellt, dass die Dateien und Bibliotheken im Installationsverzeichnis fehlen. Aber weder DLL-Dateien noch heruntergeladene Beispiele von Code Base wurden erstellt oder zur Kompilierung aufgerufen. Es hat mich viel Zeit und Nerven gekostet, die Ursache zu finden. Dann habe ich einfach TerminalPath auskommentiert - wohin verschwindet das alles? Es stellt sich heraus, dass es sich um den Ordner C:\Benutzer\...\AppData handelt. Ich habe versucht, sie zu finden - ohne Erfolg. Sie war überhaupt nicht aufgeführt. Dann habe ich irgendwie gemerkt, dass es versteckt war. Und ich habe im Internet herausgefunden, wie man versteckte Ordner anzeigen lassen kann. Ja, alle benötigten Ordner und Dateien wurden in C:\Benutzer\...\AppData\Roaming\MetaQuotes\Terminal angezeigt. Allerdings habe ich Systemverzeichnisse absichtlich vermieden, um unnötige Probleme zu vermeiden. Nein, das Installationsprogramm hat sie erstellt. Das heißt, Sie verstehen, dass ein einfacher Benutzer nicht tun kann, was ich tat, bevor ich zu diesen Ordnern kam.

Sie argumentieren so, kritisieren und geben den Entwicklern Ratschläge, aber Sie kennen die Grundregeln der Windows-Sicherheit nicht. Das war's, das Betriebssystem gewährt keine Schreibrechte mehr für die Programmdateien. Der empfohlene Speicherort ist nur in AppData.

Wenn Sie im normalen Modus arbeiten, ist alles in Ordnung - alle Daten sind vorhanden und die Arbeitsverzeichnisse sind unter Datei -> Datenverzeichnis öffnen verfügbar.


Als nächstes habe ich versucht, die DLL zu verbinden. Leise wie ein Panzer - er sieht ihn nicht, egal wo ich ihn hinstecke. Es wurde in VS2013 Desktop in C++, neueste Version erstellt und funktionierte gut in MT4. Nachdem ich mir ein Beispiel aus dem Artikel "How to write a DLL in 10 minutes" angesehen habe, habe ich eine halbe Nacht wie ein Narr damit verbracht, es zu verbinden. Dann änderte ich die Pfade, und das Terminal erkannte sie schließlich und warnte, dass es sich nicht um eine 64-Bit-DLL handelte, und weigerte sich, sie zu verbinden. Natürlich habe ich verstanden, dass in allen Beispielen DLL als Win32-Anwendung erstellt werden und sie werden nicht 64 Bit erstellen. Was ist als nächstes zu tun? Ich beschloss, mit MT5 - 32 Bits zu experimentieren. Mein Installationsprogramm ließ dies nicht zu und zwang mich, 64 Bit zu installieren. Später stolperte ich über ein Forum, dass MT5 32 Bits von der Kommandozeile aus installiert werden kann {mt5setup.exe /32) und installierte die 32-Bit-Version. Ich verband DLLs und bekam es zum Laufen. Die 64-Bit-Version musste deinstalliert werden, da sie eine problematische Anwendung war.

Wenn es Ihre DLL ist, kompilieren Sie sie einfach im 64-Bit-Modus neu.

Sie müssen nicht mit dem Kopf gegen die Wand rennen und so tun, als ob 32-Bit-Bibliotheken in 64-Bit-Programmen funktionieren können oder sollten. Es wurde Ihnen bereits in einem benachbarten Forum erklärt, aber Sie tun immer noch so, als würden Sie es nicht verstehen.

Ich habe absichtlich alles so detailliert beschrieben, damit die Entwickler versuchen können, sich in die Haut des Benutzers zu versetzen.

Leider haben Sie Ihre Missverständnisse ausführlich beschrieben. Angeblich die Worte eines Programmierers (DLL, Verzeichnisse, Programme), aber Sie kennen die Grundlagen nicht wirklich.

Frage. Warum legt das Installationsprogramm trotz der Tatsache, dass ich nicht in das Systemverzeichnis installiere, immer noch alles in versteckte Ordner ab, in die ich nicht hineingehen kann, um wenigstens die von der Code Base heruntergeladenen Indikatoren oder Skripte dort abzulegen? Und ich konnte nicht auf den Ordner Dateien zugreifen, in den ich die Ergebnisse meiner Arbeit schreiben konnte? Um ehrlich zu sein, hatte ich einen emotionalen Impuls, MT5 weit weg zu schicken, mit all diesen Problemen, entschuldigen Sie den Ausdruck - Vampirismus von Zeit und nervöser Energie und Defekten. Aber ich habe mich aus purer Kraft gewehrt.

Denn das sind die Regeln von Microsoft (ja, das stimmt). Mit der Veröffentlichung von Windows 8 gilt: Entweder man hält sich an die Vorgaben von Microsoft oder die Clients werden mit Schreibverboten belegt.

Es gibt den Schalter /portable für diejenigen, die Arbeitsdateien in ihrem Verzeichnis dagegen behalten wollen.


Und eine zweite Frage. Werden 32-Bit-DLLs in der 64-Bit-Version verfügbar sein, da das 64-Bit-Terminal ohne sie so gut wie tot ist?

Nein, das ist im Prinzip technisch unmöglich (ohne Fanatismus). Es sind 64-Bit-Bibliotheken, die benötigt werden.


Und noch eine Frage. Planen Sie, eine Möglichkeit der C#-DLL-Verbindung zu bieten, damit sie 64-Bit-DLLs ohne Probleme erstellen können?

Gängige Programme stellen auch problemlos 64-Bit-Versionen her. Wie sind Sie auf das Problem gestoßen?


Und noch eine Sache. Microsoft versucht fast zwangsweise, C++ durch C# als Hauptprogrammiersprache zu ersetzen. In der neuesten VS2013 haben sie sogar die Möglichkeit entfernt, die Arbeit mit Formularen einzustellen und die Frage "Warum?" im Forum mit der Frage zu beantworten "Warum versuchst du nicht, perfekteres C# zu verwenden? Dann stellt sich heraus, dass C++ auf lange Sicht vielleicht auf Platz 2 landet oder ganz verschwindet. Besteht die Absicht, ein neues Terminal mit C# als Grundlage für die Sprache zu entwickeln?

Wenn wir unser Geschäft ruinieren wollen, dann ja - wir werden zu C# wechseln. Das wird eine großartige Methode sein.

Damit Sie keine Probleme bekommen, verwenden Sie MQL4/MQL5 - sie funktionieren wie C# und docken zur Laufzeit automatisch an 32- und 64-Bit-nativen Code an.

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

Ich verstehe das natürlich vollkommen.

Wer vor ein paar Monaten von Windows XP auf Windows 7/Windows 8 umgestiegen ist, wird zwangsläufig mit den Mustern brechen. Aber, wie man so schön sagt, jeder ist sein eigener böser Pinocchio - das ist der Preis, den man für ein Jahrzehnt der Selbsttäuschung und des Ignorierens von Änderungen bei Betriebssystemen zahlen muss.

Grund der Beschwerde: