Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

Fehler bei Bereichsprüfung in SendMessage

  Alt 8. Jun 2009, 14:41
Hallo DPler,

ich habe ein merkwürdigen Fehler manchmal wird nach Start meiner Anwendung ein Fehler in der Bereichsprüfung ausgelöst
und manchmal kann ich die Anwendung so oft starten wie ich will es kommt kein Fehler.

Und zwar werden nach dem Start Daten aufbereitet und dies soll durch ein blinkendes Icon in der Statuszeile (TStatusBar)
angezeigt werden, dazu wird ein Timer gestartet der alle paar Millisekunden eine Prozedur aufruft die ein Icon in der
Statusbar anzeigen soll.

Das Icon wird aus einer ImageList geladen und dann via SendMessage in eine StatusBar eingebunden, hier jedoch tritt dann
gelegentlich der Fehler in der Bereichsprüfung auf, ich habe nur keinen Schimmer wie und was ich machen muß damit der
Fehler nicht mehr kommt.

Ich hab einen Beitrag Link gefunden der evtl. ein ähnliches Problem enthält wie meins, jedoch ohne Lösung.
In dem Beitrag wird was von einer geänderten Handle größe gesprochen.


Delphi-Quellcode:
procedure TfrmMain.pShowStatusBarIcon(IconIdx: Byte; bShow: Boolean; Panel: Byte);
begin
  if (IconIdx < imlStatusBar.Count) then begin
  
    if bShow then begin
      //Icon holen...
      imlStatusBar.GetIcon(IconIdx, AnimatedIcon);

      //Icon anzeigen
      try
        SendMessage(barStatus.Handle, SB_SETICON, Panel, AnimatedIcon.Handle);
      except
        on E: exception do begin
          ShowMessage(E.Message);
        end;
      end;

    end
    else begin
      //Icon wieder löschen
      SendMessage(barStatus.Handle, SB_SETICON, Panel, 0);
    end;{else}

  end;{if IconIdx Ok}

end;
  Mit Zitat antworten Zitat