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;