Tôi có một câu hỏi khác! Hãy nhìn vào ví dụ này:Làm thế nào để vượt qua ngoại lệ từ một chủ đề khác (người gọi) thread trong Delphi?
// There is a class with some method:
type
TMyClass = class
public
procedure Proc1;
end;
// There is a some thread class:
TMyThread = class(TThread)
protected
procedure Execute; override;
end;
procedure TMyClass.Proc1;
begin
// this method is just calling another thread:
with TMyThread.Create(True) do
begin
FreeOnTerminate := True;
Resume;
end;
// + there are some more actions
end;
procedure TMyThread.Execute;
begin
// in this example this thread just throws exception:
raise Exception.Create('Some exception');
end;
Tất cả những gì tôi muốn - là để huy động ngoại lệ trong TMyClass.Proc1 và ném nó lên như thế này:
var
myObject: TMyClass;
begin
myObject := TMyClass.Create;
try
myObject.Proc1; // launch and watch what happenings
except
on E: Exception do
WriteErrorLog(E.Message);
end;
FreeAndNil(myObject);
end;
xin vui lòng cho tôi biết làm thế nào tôi có thể làm một cái gì đó như thế này? Rất cám ơn!
oh! một điều nữa - im mã hóa trên Delphi 5 vì vậy tôi không có "FatalException" tài sản của TThread hoặc một cái gì đó về ..
Bạn cần chấp nhận câu trả lời hoặc nếu không có câu trả lời nào đủ để bạn chỉ ra rằng ví dụ: bằng cách bình luận – Remko