File tree Expand file tree Collapse file tree 1 file changed +4
-16
lines changed Expand file tree Collapse file tree 1 file changed +4
-16
lines changed Original file line number Diff line number Diff line change @@ -4319,11 +4319,15 @@ constructor TPythonEngine.Create(AOwner: TComponent);
4319
4319
end ;
4320
4320
4321
4321
destructor TPythonEngine.Destroy;
4322
+ var
4323
+ I: Integer;
4322
4324
begin
4323
4325
LocalVars := nil ;
4324
4326
GlobalVars := nil ;
4325
4327
Destroying;
4326
4328
Finalize;
4329
+ for I := 0 to ClientCount - 1 do
4330
+ Clients[I].ClearEngine;
4327
4331
FClients.Free;
4328
4332
FInitScript.Free;
4329
4333
FTraceback.Free;
@@ -4333,7 +4337,6 @@ destructor TPythonEngine.Destroy;
4333
4337
procedure TPythonEngine.Finalize ;
4334
4338
var
4335
4339
i: integer;
4336
- canDetachClients : Boolean;
4337
4340
begin
4338
4341
// switch off redirection when the component is destroying,
4339
4342
// because the form or datamodule is beeing closed, and
@@ -4368,21 +4371,6 @@ procedure TPythonEngine.Finalize;
4368
4371
except
4369
4372
end ;
4370
4373
end ;
4371
- // Detach our clients, when engine is being destroyed or one of its clients.
4372
- canDetachClients := csDestroying in ComponentState;
4373
- if not canDetachClients then
4374
- for i := 0 to ClientCount - 1 do
4375
- if csDestroying in Clients[i].ComponentState then
4376
- begin
4377
- canDetachClients := True;
4378
- Break;
4379
- end ;
4380
- if canDetachClients then
4381
- begin
4382
- for i := 0 to ClientCount - 1 do
4383
- Clients[i].ClearEngine;
4384
- FClients.Clear;
4385
- end ;
4386
4374
// Free our reference
4387
4375
gPythonEngine := nil ;
4388
4376
FTimeStruct := nil ;
You can’t perform that action at this time.
0 commit comments