
"Y" gdzieś zapewne był modyfikowany bo inaczej by to nie działało

Spróbuj to wywołanie przenieść do DLL i wywołać pośrednio przez DLLrayzeel pisze:Po aktualizacji ShellExecuteA nie działa. Nie wiem nawet co się dzieje, nie wykonuje funkcji, zero komunikatów o błędach. Szukam o co chodzi. Jakby ktoś znał odp. to będę wdzięczny. Idzie się wk....ić na takie rzeczy !
Edit:
w sumie to dodam, że robiłem coś takiego
ShellExecuteA(0, "Open", "java", args, TerminalPath(), 0);
i działało, a po aktualizacji nic się nie dzieje. Żadnych błędów też nie ma. Nawet jak ustawię "pytaj o pozwolenie wykonania dll" to też nic nie wyskakuje.
Dzięki za wskazówkę. Może to tego jeszcze wrócę bo na razie zrobiłem komunikację na socketach i działa elegancko na moim kompie, a na win 2008 server (VPS) się wywala. Więcej opisałem w odrębnym wątku: http://forex-nawigator.biz/forum/unreso ... ml#p653001 , jeśli miałbyś chwilę zerknąć. Może coś podpowiesz. Dzięki jeszcze raz.lolek pisze:Spróbuj to wywołanie przenieść do DLL i wywołać pośrednio przez DLLrayzeel pisze:Po aktualizacji ShellExecuteA nie działa. Nie wiem nawet co się dzieje, nie wykonuje funkcji, zero komunikatów o błędach. Szukam o co chodzi. Jakby ktoś znał odp. to będę wdzięczny. Idzie się wk....ić na takie rzeczy !
Edit:
w sumie to dodam, że robiłem coś takiego
ShellExecuteA(0, "Open", "java", args, TerminalPath(), 0);
i działało, a po aktualizacji nic się nie dzieje. Żadnych błędów też nie ma. Nawet jak ustawię "pytaj o pozwolenie wykonania dll" to też nic nie wyskakuje.
Wtedy możesz wywołać w DLL funkcje sprawdzające błędy i zapisać do pliku log albo wywołać messagebox i sprawdzić czy działa.
Ja miałem takie przypadki że nawet w DLL nie mogłem utworzyć socketa żeby normalnie funkcjonował i u mnie skrypt komunikuje się z DLL a DLL z oddzielną aplikacją i dopiero ta aplikacja wykonuje docelowe zadania.
Tak samo nie działa prawidłowo współdzielenie pamięci.
Są błędy mt4 i są błędy windowsa i trzeba stosować różne sztuczki i iść okrężną drogą.
czesc Tymek...Tymek pisze:Ja mam build 600 i w funkcji klasy jak najbardziej działa i się kompiluje.
sprawdź czy masz linie:
#property strict
wtedy kompiluje przy pomocy nowego kompilatora
Tymek pisze:Daj chociaż jedną funkcję by można było zobaczyć co masz w środku.
Nowy kompilator wymaga zdefiniowania funkcji start, init i deinit zgodnie ze specyfikacja MQL.
Jeżeli masz jakieś odstępstwa to nie działa.