Zainicjuj name2[] zerami przed skopiowaniem nazwy wskaźnika. Kopiujesz tylko znaki StringLen(nazwa wskaźnika). To jedna postać za mało. Musisz upewnić się, że ciąg w buforze jest zakończony znakiem . Zniekształcony bałagan, którego doświadczasz, to jakiś istniejący niezerowy znak w buforze, który jest następnie dołączany do nazwy twojego wskaźnika. Jeśli nie jest zainicjowana, przydzielona pamięć może zawierać wszystko. Oczywiście taki plik nie istnieje, stąd Twój błąd. ps: Jedna linijka więcej wystarczy. Widzieć
https://www.mql5.com/en/docs/array/arrayinitializepps: Jeśli się nie mylę, powinieneś użyć PostMessageA() z StringToCharArray(). Widzę ciąg ANSI jako wynik
https://www.mql5.com/en/docs/convert/stringtochararray. Proszę poprawić kogoś, jeśli się mylę. Nie używam kodu MQL4.5 (kompilacja 600 ).