Wyświetlenie wyników wykonania programu dos w tmemo

0

Witam,
Mam problem z wyswietleniem rezultatów aplikacji dos w komponencie TMemo.
Staram się odpalić poprzez moją aplikację kompilatora NSIS i wyświetlenie rezultatów w
kontrolce TMemo. I teraz jaki jest roblem (choć może to być dowolna aplkacja dos)
Testuje Delphi 2009 i używając kodu, który działa normalnie na starszych werjach delphi otrzymuje
w wyniku "krzaczki". Coś jest nie tak, prawdopodobnie przez to, że D2009 wspiera unicode...
Oto przykładowa funkcja, z którą mam problemy: (choć sprawdziłem już kilka z netu)

http://delphi.about.com/cs/adptips2001/a/bltip0201_2.htm

Czy ktoś z was poradził sobie z tym problemem?
Bardzo proszę o pomoc w poprawie tej funkcji, by działała również w D2009.
-Pawel

0

Nie mam tego kompilatora, więc nie mam jak sprawdzić, ale wiem że ta procedura do której podałeś
link - nie jest idealna, ale chociaż działą. Bo pamiętam, że kiedyś jak szukałem podobnego kodu to
znalazłem takie, które w ogóle nie działały mi. Jednak ta procedura chyba "niebardzo lubi" aplikacje
windowsowe w konsoli. Bo na przykład wget (ten z linuxa, w wersji dla Windows) wywołany sam - bez
żadnych parametrów pokazuje wynik, ale na przykład próba pobrania pliku powoduje zawieszenie się
aplikacji i dalej nie reaguje na nic - pod Delphi 7 w IDE można przerwać program, a plik się zapisze.

Czyli... to działa:

  RunDosInMemo('wget.exe', Memo1);

Tak nie działa - zamraża program, ale żądany plik zapisuje się:

  RunDosInMemo('wget.exe http://www.wp.pl -O D:\test.html', Memo1);

Może to ze względu na to że pokazywać ma się na krótko "pasek postępu" w konsoli.

0

Chodzi o to, żeby konsola cmd nie została w ogóle wyswietlona. Wyniki działania programu dos, mają zostać wyswietlone w moim programie, w tmemo na przykład. A program wywołany przez mój program ma zrobić swoje, tyle tylko, że wynik wypisze nie w cmd ale w moim programie.

Żeby przetestować to co napisalem, nie potrzeba nsis. Wystarczy dowolny program, który uruchomiłby się poprawnie w tak skompilowanym kodzie pod D2009.
Bo, jak pisałem, w starszych wersjach delphi działa to wysmmienicie.
Pozdr

1 użytkowników online, w tym zalogowanych: 0, gości: 1