Ok, hat sich erledigt.
Hab es aus dem FormClose genommen und leite jetzt die Initialisation / Finalisation "per Hand" ein, vorher war es in OnFormCreate / OnFormClose, oder auf Delphisch:
Delphi-Quellcode:
{ ************************************************************ }
procedure TGS_frkMain.Display3DActionExecute(Sender: TObject);
{ ************************************************************ }
begin
if (Length (CalculationResults) <= 0)
then
Exit;
with TGS_frkOpenGL.Create (Self)
do
begin
AssignResults (CalculationResults);
InitializeOpenGL;
// OpenGL initialisieren
ShowModal;
ShutDownOpenGL;
// OpenGL finalisieren
Free;
end;
end;
...
{ ************************************************************ }
procedure TGS_frkOpenGL.ShutDownOpenGL;
{ ************************************************************ }
begin
Application.OnIdle :=
nil;
OpenGLInit := FALSE;
DeactivateRenderingContext;
DestroyRenderingContext (RC);
CloseOpenGL;
end;
Nun meckert er nix mehr rum und tut, wie er soll.
Grüße,
Mario