Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.05;
Скачать: CL | DM;

Вниз

p   Найти похожие ветки 

 
Sectey ©   (2002-07-23 15:30) [0]

Заранее благодарен за любой ответ.

Проблема:
В основной программе создаю новый поток.
В котором выполняю вызов DOS программ через CreateProcess
в нем организовываю цикл ожидания

while WaitForSingleObject(Fpi.hProcess, 100) <> WAIT_OBJECT_0 do
begin
// ...
if c > 8191 then // ограничения на размер данных
c := 8191;
p[c] := #0; // <- Ошибка
// ...
end;

Если где то в этом цикле организую вручную запись в память
p[c] := ... , при этом не имеет значение выделена она в этом
потоке или в основном, автотомарически p : array[0..8192] of char или динамически GetMem(p, 8193);
Просто в процессе выполнения программы сообщаем об ошибке "Программа Project1 вызвала ошибку KERNEL32.DLL."
Убираю данную строку все Ок.
Большое спасибо Sectey


 
Игорь Шевченко ©   (2002-07-23 15:53) [1]

Как объявлена переменная "с" ?


 
Sectey ©   (2002-07-23 16:39) [2]

Тоже само если
p[0] := ...
вообще ни имеет значение что писать в память.


 
Alx2 ©   (2002-07-23 16:55) [3]

Скорее всего, значение p где-то ранее засирается. В итоге теряется адрес массива.


 
ZZ ©   (2002-07-23 17:01) [4]

или полный код давай или сам пошагово последи за выполнением программы.

ЗЫ. А как массив передается в потоk ?


 
Sectey ©   (2002-07-23 17:28) [5]

Спасибо всем кто откликнулся!
Я понел, что если прозвожу чтение из файла, а после произвожу операции с памятью, то выходит ОШИБКА.
Конечно решение через Ж... , но если переходим в основной поток то все работает хорошо.



Страницы: 1 вся ветка

Текущий архив: 2002.08.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
3-13571
big_bugzy
2002-07-09 14:35
2002.08.05
Either BOF or EOF is true, or the current record has been deleted


14-13820
kaif
2002-07-11 03:12
2002.08.05
Может ли хакер нарушить работу телефона?


1-13609
Filat
2002-07-24 19:59
2002.08.05
Вот уж не думал, что тут не будет работать.......


7-13841
Krok
2002-05-16 12:29
2002.08.05
---|Ветка была без названия|---


1-13696
ProfiUgl
2002-07-24 09:13
2002.08.05
Обращение из формы к компанентам расположенным на MDIChild форме