<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
All,<BR>I'm writing a TurboVision App to cross compile to Linux - but debugging on my main Win32 box. <BR> <BR>In this app; I'm attempting to use the TFPTimer component to trigger an event every 1000ms. I can't get the bugger to compile; despite google searches and a lot of experience in Delphi.<BR> <BR>The compiler always seems to throw an error simular to:<BR> <BR>TVBOOT.PAS(52,20) Error: Incompatible types: got "<procedure variable type of procedure(TObject) of object;Register>" expected "CLASSES.<procedure variable type of procedure(TObject) of object;Register>"<BR><BR>I began by using the advice of Graeme in the post:<BR><A href="http://readlist.com/lists/lists.freepascal.org/fpc-pascal/0/3897.html">http://readlist.com/lists/lists.freepascal.org/fpc-pascal/0/3897.html</A><BR> <BR>I know this is simple compiler gymnastics; but I just can't seem to figure it out. <BR>John<BR> <BR>uses<BR>CRT,App,Objects,Menus,Drivers,Views,Dialogs,<BR>fpTimer;<BR> <BR>type<BR> TBootApp = object(TApplication)<BR> private<BR> aTimer : TfpTimer;<BR> protected<BR> constructor Init;<BR> destructor Done; virtual;<BR> procedure InitStatusLine; virtual;<BR> procedure HandleEvent(var Event: TEvent); virtual;<BR> procedure Idle; virtual;<BR> function NewDialog : word;<BR> public<BR> procedure TimerTimer( Sender : TObject );<BR> end;<BR> PDemoDialog = ^TDemoDialog;<BR> TDemoDialog = object(TDialog)<BR> end;<BR> <BR>var<BR> BootApp : TBootApp;<BR> Dialog : PDemoDialog;<BR> DoDialog : Boolean;<BR><BR>constructor TBootApp.Init;<BR>BEGIN<BR> aTimer := TFPTimer.Create(nil);<BR> aTimer.Interval := 500; //ms<BR> aTimer.Enabled := False;<BR> aTimer.OnTimer := @TimerTimer; //compiler barfs <<<---- here!<BR>END;<BR><BR>destructor TBootApp.Done;<BR>BEGIN<BR> ATimer.Free;<BR>END;<BR> <BR>procedure TBootApp.TimerTimer( Sender : TObject );<BR>BEGIN<BR>END;<BR> </body>
</html>