![]() |
OnAfterShow mittels PostMessage
Ich habe ein OnAfterShow Ereignis mittels PostMessage implementiert, weil bestimmte Eigenschaften erst danach zur Verfügung stehen:
Delphi-Quellcode:
Ich bekomme aber nach dem Aufruf von PostMessage eine AccessViolation. Klick eich die Weg wird mein Formular angezeigt, allerdings ohne das gemacht zu haben, was in der WndProc steht, da kommt er erst gar nicht hin.
public
{ Public declarations } procedure WndProc(var Msg: TMessage); override; // ...; procedure TfrmPreview.FormShow(Sender: TObject); begin PostMessage(frmPreview.Handle, WM_MP_AFTERSHOW, 0, 0); end; // ...; procedure TfrmPreview.WndProc(var Msg: TMessage); begin case Msg.Msg of WM_MP_AFTERSHOW: begin //FirstTime := False; FFotoBook.PageParent := Self; FFotoBook.ScaleFactor := FFotoBook.CalcScaleFactor; PageID := 0; FFotoBook.DisplayMode := dmPreview; FFotoBook.Display(PageID); UpDateLabel; end; end; inherited; end; |
Re: OnAfterShow mittels PostMessage
Delphi-Quellcode:
procedure TfrmPreview.FormShow(Sender: TObject);
begin PostMessage(frmPreview.Handle, WM_MP_AFTERSHOW, 0, 0); // FALSCH !!! // ^^^^^^^^^^ PostMessage(Handle, WM_MP_AFTERSHOW, 0, 0); // Richtig PostMessage(Self.Handle, WM_MP_AFTERSHOW, 0, 0); // Auch richtig end; |
Re: OnAfterShow mittels PostMessage
Ächtz. Dank dir. ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz