IdTestThreadComponent.pas 785 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. unit IdTestThreadComponent;
  2. interface
  3. uses
  4. IdTest,
  5. IdSys,
  6. IdThreadComponent;
  7. type
  8. TIdThreadComponentAccess = class(TIdThreadComponent)
  9. end;
  10. TIdTestThreadComponent = class(TIdTest)
  11. private
  12. procedure Callback(Sender:TIdThreadComponent);
  13. published
  14. procedure TestLoaded;
  15. end;
  16. implementation
  17. procedure TIdTestThreadComponent.Callback;
  18. begin
  19. end;
  20. procedure TIdTestThreadComponent.TestLoaded;
  21. //check for AV bug if component is loaded with an terminate event
  22. var
  23. c:TIdThreadComponent;
  24. begin
  25. c:=TIdThreadComponent.Create(nil);
  26. try
  27. c.OnTerminate:=Self.Callback;
  28. TIdThreadComponentAccess(c).Loaded;
  29. finally
  30. Sys.FreeAndNil(c);
  31. end;
  32. end;
  33. initialization
  34. TIdTest.RegisterTest(TIdTestThreadComponent);
  35. end.