Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизExternal exception C000001D Найти похожие ветки
← →
Cosinus © (2004-09-08 16:25) [0]Где имеенно оно вылетает, хз... Локализовать по моему очень трудоемко.
Вот код...try
GetMem(buffer,$1000);
Gauge1.MaxValue:=BlockCount;
Mem.Seek($10000,soFromBeginning);
for t:=0 to BlockCount-1 do
begin
Mem.ReadBuffer(buffer^,$1000);
addr:=copy(HexToStrN(IntToHex($10000+t*$1000,8)),2,3);
Str:="";
for i:=0 to $fff do
str:=str+chr(ord(buffer[i]));
DatStr:=addr+#$10+#$00+str;
PortInit(WrCommCrc(DatStr,true),PortBd);//запись в СОМ-порт
If not ReadAnswer(4,1500) then //Если нет ответа, то...
begin
Log(clRed,"Error with ErrorCode 1 [timeout]",false);
mem.Free;
FreeMem(buffer);
beep(2000,1000);
exit;
end;
end;
Log(clLime,"Writing memory OK",true);
finally
mem.Free;
FreeMem(buffer);
end;
Вылетает в самом конце (видимо с освобождением что то не то). Есть идеи? :)
← →
Cosinus © (2004-09-08 16:26) [1]Забыл...
Я нашел, что C000001D - этоSTATUS_ILLEGAL_INSTRUCTION
. В MSDN про нее написано -"Attempting to execute an instruction code not defined by the processor"
← →
MU © (2004-09-08 16:34) [2]If not ReadAnswer(4,1500) then //Если нет ответа, то...
begin
Log(clRed,"Error with ErrorCode 1 [timeout]",false);
mem.Free;
FreeMem(buffer);
beep(2000,1000);
exit; end;
end;
Log(clLime,"Writing memory OK",true);
finally
mem.Free;
FreeMem(buffer);
end;
finally ВСЕ РАВНО ОТРАБОТАЕТ при выходе по EXIT
← →
Cosinus © (2004-09-08 16:43) [3]>>MU © (08.09.04 16:34) [2]
Я уже так и подумал... Но все равно спасибо.
← →
MU © (2004-09-08 16:45) [4]Угу... Но все равно - молодец
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c