CreateProcess въпросче

3 отговора 236 прегледа
#1

CreateProcess въпросче

здравейте, има ли някой с повече опит при използването на CreateProcess.

значи въпроса ми е малко специфичен. създавам си процес без грижи и го стартирам, но стартираният процес е конзолно приложение.

всичко дотук работи ОК, но ако конзолното приложение се опита да аксесне например нулев указател:
Pointer: PChar;
...
Pointer := nil;
Pointer[0] := 'a';

приложението зависва на инструкцията Pointer[0] := 'a';

ако се стартира от DOS промпт си изгърмява много хувабо. а на мен точно това искам да се случи и след като го стартирам с CreateProcess, за да мога да го рестартирам след като WaitFor... излезе.

за момента ми седи зависнало и какво ли не опитах и ровех надълбоко из WinAPI хелповете. нищо не помогна.

благодаря за каквато и да е помощ.

Отговор
в отговор на фeн #2

Re: CreateProcess въпросче

Дай малко код (този, с който стартираш процеса и този при който стартирания процес зависва), че ми е трудно да пресъздам проблемната ситуация. Кажи също така и с кои версии на Delphi и Windows правиш теста?

Mixy

Редактирано от Mixy на

Отговор
в отговор на фeн #3

Re: CreateProcess въпросче

Трябва първо да заделиш памет(чрез GetMem(...)) и тогава да присвояваш Pointer[0]:='a'

Отговор
в отговор на SS #4

Re: CreateProcess въпросче

Доколкото разбрах, човека точно това цели - да предизвика грешка в програмата. Но при дадени условия грешката се появява, а при други, програмата увисва на грешния оператор. Целта е да се разбере, защо се получава това.

Mixy
Отговор