Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
3-13544
Alibaba
2002-07-05 16:00
2002.08.05
Связать 2 TQuery


1-13629
cpp
2002-07-23 08:14
2002.08.05
Свёрнутые окна в XP под Delphi5 и .... проблема.


14-13776
vads
2002-07-08 00:09
2002.08.05
Через неделю матери 60 лет - посоветуйте что ей может подарить


1-13635
79087
2002-07-23 09:53
2002.08.05
О выборе пункта(ов) в CheckListBox.


4-13861
z1
2002-05-27 17:04
2002.08.05
рабочий стол обновить





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский