Вниз
Скачать: CL | DM;

почему возникает ошибка...   Найти похожие ветки 

← →
Dysan ©   (2004-08-02 17:48) [0]

почему возникает ошибка при Form.FormDestroy
а точнее в модуле XMLDOC
при FDocumentNode := nil; в процедуре

procedure TXMLDocument.ReleaseDoc(const CheckSave: Boolean = True);
begin
 if CheckSave then
   CheckAutoSave;
 FDocumentNode := nil; <---- ???
 FDOMPersist := nil;
 FDOMDocument := nil;
 FDOMParseOptions := nil;
 FPrefixID := 0;
 SetModified(False);
 if not (DocSource in [xdsNone, xdsXMLProperty]) then
   SetXMLStrings("");
end;

вылетает вот тут :

function _IntfClear(var Dest: IInterface): Pointer;
{$IFDEF PUREPASCAL}
var
 P: Pointer;
begin
 Result := @Dest;
 if Dest <> nil then
 begin
   P := Pointer(Dest);
   Pointer(Dest) := nil;
   IInterface(P)._Release;
 end;
end;
{$ELSE}
asm
       MOV     EDX,[EAX]
       TEST    EDX,EDX
       JE      @@1
       MOV     DWORD PTR [EAX],0
       PUSH    EAX
       PUSH    EDX
       MOV     EAX,[EDX]  <----!!!!
       CALL    DWORD PTR [EAX] + VMTOFFSET IInterface._Release
       POP     EAX
@@1:
end;
{$ENDIF}

И кричит что была совершена ошибка чтения по такому-то адреса.
как это исрпавить?


← →
Игорь Шевченко ©   (2004-08-02 18:12) [1]

Наверное потому, что интерфейс уже кто-то освободил, нет ?


← →
Dysan ©   (2004-08-02 18:25) [2]

сам я этого не делал.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
6-1086965732
Ded Moroz
2004-06-11 18:55
2004.08.15
Траффик


1-1091101700
sohat
2004-07-29 15:48
2004.08.15
Отловить событие с клавиатуры или мыши в неактивном приложении?


3-1090323491
Phoenix
2004-07-20 15:38
2004.08.15
Сделать коды неповторяющимеся


1-1091079593
Sancho
2004-07-29 09:39
2004.08.15
DOA 3.4.6.1 и run-time пакет


1-1091091710
TUser
2004-07-29 13:01
2004.08.15
LoadFromFile




   Наверх