Tolyan
01-Jun-2005, 03:15 PM
Hi!
I have Program.exe, DoIt.bpl and Error.bpl, which compiled with active EurekaLog (trial 5.0.1)
I try use next constructions:
in DoIt.bpl -
...
try
...
except
on E: Exception do
begin
raise MyError.Create(E, 'bla-bla-bla')
end;
end;
in Error.bpl -
...
type
MyError = class(Exception)
...
end;
...
constructor MyError.Create(AExceptObject: Exception; AMessage: string);
var
CS: TEurekaStackList;
begin
inherited Create(AMessage);
...
CS := GetCurrentCallStack; // !!! from unit ExceptionLog
try
ShowMessage('CS.Count = ' + IntToStr(CS.Count));
finally
CS.Free;
end;
end;
...
and when execption handled in DoIt.bpl and new exception create in Error.bpl, next message was show:
CS.Count = 0
Why? :confused:
P.S.: Sorry for bad English:o
P.P.S.: bpl and exe was compiled with ecc32 and EurekaLog unit (with E*.dcu) was implicitly imported into Error.bpl... Maybe, this is the root of all evil...:confused:
I have Program.exe, DoIt.bpl and Error.bpl, which compiled with active EurekaLog (trial 5.0.1)
I try use next constructions:
in DoIt.bpl -
...
try
...
except
on E: Exception do
begin
raise MyError.Create(E, 'bla-bla-bla')
end;
end;
in Error.bpl -
...
type
MyError = class(Exception)
...
end;
...
constructor MyError.Create(AExceptObject: Exception; AMessage: string);
var
CS: TEurekaStackList;
begin
inherited Create(AMessage);
...
CS := GetCurrentCallStack; // !!! from unit ExceptionLog
try
ShowMessage('CS.Count = ' + IntToStr(CS.Count));
finally
CS.Free;
end;
end;
...
and when execption handled in DoIt.bpl and new exception create in Error.bpl, next message was show:
CS.Count = 0
Why? :confused:
P.S.: Sorry for bad English:o
P.P.S.: bpl and exe was compiled with ecc32 and EurekaLog unit (with E*.dcu) was implicitly imported into Error.bpl... Maybe, this is the root of all evil...:confused: