привет всем, собственно допустим у нас есть DLL в которой создается тред, он вызывает длинную процедуру... как во время исполнения этой процедуры мне просматривать в главной программе содержимое local параметров из этой фичи?
jaja ну процесс тут один так что можно и без них. а как насчет сделать локальные переменные глобальными и написать простенькие функции типа Код (Text): function GetI:Integer; begin SuspendThread(hThread); Result:=I; ResumeThread(hThread); end; или Код (Text): GetI: push [hThread] call [SuspendThread]; без кавычек для TASM, а также с долбаной припиской @4 для MASM push [i] push [hThread] call [ResumeThread]; без кавычек для TASM, а также с долбаной припиской @4 для MASM pop eax ret или Код (Text): int GetI() { SuspendThread(hThread); int tmp=I; ResumeThread(hThread); return tmp; } P.S. хотя для получения значения этой переменной замораживать ветвь - это кажется лишним, но вот если это будет строка, то это будет уже необходимо. иначе рискуем получить фигню.
Дело в том, что у меня может быть от 2-х до 1024 тредов и каждый из них узнает размер файла в интернете и несколько дополнительных параметров + скачивает его, в общем заполняется структура размером в 20 байт по мере прохождения функций InternetOpen, InternetOpenUrl, HttpQueryInfo и т.п. вот вопрос нужно ли морозить тред если я хочу изменить показания ListView? делал и получал фигню какую - то, в отладчике правда бывало ловил ACCESS_VIOLATION, но когда разобрался с кодом вопрос стал о передачи данных...