Da ich mal wieder versuche über die die serielle Schnittstelle zu komunizieren (Win32) hab ich mir das Package CPortLazarus installier und aktiviert. Bei der Einbindung des Package in Lazarus verlief fehlerfrei. Doch nun beim create meines Programmes kommt die Fehlermeldung: exception class "External SIGFPE "
Die Funktion sieht wie folgt aus:
Code: Alles auswählen
procedure TCustomComTerminal.Paint;
var
ARect: TRect;
begin
Canvas.Font := Font;
Canvas.Brush.Color := Color;
if csDesigning in ComponentState then
PaintDesign
else
begin
MoveCaret(FCaretPos.X, FCaretPos.Y);
// don't paint whole screen, but only the invalidated portion
if (FFontWidth +1) > 0 then
ARect.Left := Canvas.ClipRect.Left div FFontWidth + 1
else
ARect.Left := 0;
ARect.Right := Min(Canvas.ClipRect.Right div FFontWidth + 1, FColumns);
ARect.Top := Canvas.ClipRect.Top div FFontHeight + 1;
ARect.Bottom := Min(Canvas.ClipRect.Bottom div FFontHeight + 1, FRows);
PaintTerminal(ARect);
end;
end;
Auch bei dem Versuch mit try..except kein erfolg und auch die Prüfung bei der Div=0 kein Fehler.
Bei der Stackprüfung zeigte sich folgendes:
Auszug aus Stack:
#0 TCUSTOMCOMTERMINAL__PAINT(0x1819508) at CPortCtl.pas:1895
#1 TCUSTOMCONTROL__PAINTWINDOW(436277481, 0x1819508) at customcontrol.inc:127
#2 TWINCONTROL__PAINTHANDLER({MSG = 66592, DC = 436277481, PAINTSTRUCT = 0x6f968, RESULT = 457128}, 0x1819508) at wincontrol.inc:4239
#3 TWINCONTROL__WMPAINT({MSG = 66592, DC = 436277481, PAINTSTRUCT = 0x6f968, RESULT = 457128}, 0x1819508) at wincontrol.inc:6062
#4 TCUSTOMCONTROL__WMPAINT({MSG = 66592, DC = 436277481, PAINTSTRUCT = 0x6f968, RESULT = 457128}, 0x1819508) at customcontrol.inc:107
#5 SYSTEM_TOBJECT_$__DISPATCH$formal at :0
#6 TCUSTOMCONTROL__SETCOLOR(457048, 0x1819508) at customcontrol.inc:94
#7 TWINCONTROL__WNDPROC({MSG = 66592, WPARAM = 436277481, LPARAM = 457064, RESULT = 457128, WPARAMLO = 4329, WPARAMHI = 6657, LPARAMLO = 63848, LPARAMHI = 6, RESULTLO = 63912, RESULTHI = 6}, 0x1819508) at wincontrol.inc:4749
#8 DELIVERMESSAGE(0x1819508, void) at lclmessageglue.pas:103
#9 SENDPAINTMESSAGE(0, 0x6fba0) at win32callback.inc:540
#10 WINDOWPROC(132910, 15, 0, 0) at win32callback.inc:2016
#11 USER32!GetDC at :0
#12 ?? at :0
#13 ?? at :0
#14 ?? at :0
Was mach ich falsch oder was läuft hier falsch
Danke
delphifant