Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

OnAfterShow mittels PostMessage

  Alt 18. Jun 2007, 14:35
Ich habe ein OnAfterShow Ereignis mittels PostMessage implementiert, weil bestimmte Eigenschaften erst danach zur Verfügung stehen:
Delphi-Quellcode:
  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;
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat