FileOpen
Wenn du F1 drückst und nach 5002 suchst siehst du, daß mit dem Filename was nicht passt.
Vielen Dank. Das habe ich kontrolliert! Aber da stimmt meiner Meinung alles!
- Bei mir sind die Namen der MT4-Verzeichnisse kleingeschrieben: "..\tester\files".
- Außerdem liegt /tester/ nicht in MQL4!
Hast Du das einmal kontrolliert?
Wahrscheinlich wurde das etwas gedankenlos vom MT5 übernommen!
Sonst bleibt immer noch FILE_COMMON.
- Bei mir sind die Namen der MT4-Verzeichnisse kleingeschrieben: "..\tester\files".
- Außerdem liegt /tester/ nicht in MQL4!
Hast Du das einmal kontrolliert?
Wahrscheinlich wurde das etwas gedankenlos vom MT5 übernommen!
Sonst bleibt immer noch FILE_COMMON.
Danke für den Tipp! Das Flag FILE_COMMON brachte den Erfolg. Außerdem darf in der Variablen filename nicht der absolute Pfad definiert werden. In meinem Fall reichte:
filename="Kurse.txt";
Handle = FileOpen(filename,FILE_COMMON|FILE_WRITE|FILE_TXT);
Mit dem Flag FILE_COMMON wurde die Datei Kurse.txt automatisch im Pfad C:\Users\username\AppData\Roaming\MetaQuotes\Terminal\Common\Files erstellt. Das Verzeichnis Files wurde vom Programm erstellt, da es nicht vorhanden war.

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Ich nutze MetaEditor 4 in Windows 10.
Mein Code in OnInit():
string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
string filename=terminal_data_path+"\\MQL4\\Tester\\Files\\"+"Kurse.txt";
Handle = FileOpen(filename,FILE_WRITE|FILE_TXT);
if(Handle < 0)
{
Print("Failed to open the file by the absolute path ");
Print("Error code ",GetLastError());
PlaySound("Bzrrr.wav");
ExpertRemove();
}
Hier erhalte ich ständig den Fehler 5002. Ich weiss nicht was ich hier falsch mache.
Kann mir da möglicherweise jemand helfen?