Bild/Leinwand erlaubt kein Zeichnen



  • Hi,

    ich habe einen thread erzeugt und mächte in diesem thread eine Message Box aufrufen:

    if (!ComHandleOG) MessageDlg("Keine Verbindung zu OG!",mtError,TMsgDlgButtons() << mbOK,0);
    

    jetzt treten 2 veschiedene Fehle auf:
    1. Wenn die MessageBox kommt dann ist sie riesengroß (3 mal Bildschirm unt hat keinen Text)
    2. oder es kommt eine exeption Bild/Leinwand erlaubt kein Zeichnen

    Bin dankbar für jeden hinweis.

    MfG



  • Tippe darauf das die Zeichenfläche keine Grösse hat.

    Oder das du ausserhalb des Bereiche zeichnest, wo es nicht machbar ist.
    z.B. Width=100; Height=100; TextOut(200,200,“Test“);



  • Ich denke, dass das Problem in der fehlenden Synchronisierung mit dem Hauptthread (TApplication) liegt.
    Ich würde versuchen die WinAPI MessageBox zu verwenden. Dort können MessegBoxes ohne ein Fenster als Eigentümer erzeugt werden. Oder die Meldung in das Hauptform auslagern und aus dem Thread heraus über Synchronize aufrufen.


Anmelden zum Antworten