Sorry, that will break out anyway, a rethink (untested):

   1. while not (LastError <> 0) do
   2. begin
   3.             if lastError *=* 0 then //no errors found, everything ok!
   4.             begin
   5.               if canread(1000) then
   6.               begin
   7.                 LCMD := Recvstring(1000);
   8.                 myconverterfunc1:=...@callconv1;
   9.                 myconverterfunc1(LCMD);
   10.               end
   11.               else
   12.                 sleep(100);
   13.             end
   14.             *else if lastError <> ErrTimeout then
   *
   15. *                break*; //error found, break out of loop and rebind
   16. end;



On Wed, May 27, 2009 at 2:14 PM, Werner Hauptfleisch <
[email protected]> wrote:

> Is it not timeing out because there is no data received, consequently
> breaking out of the while loop?
>
> Perhaps try:
>
>
>    1. while not (LastError <> 0) do begin
>    2.             if lastError<>*ErrTimeOut* then break;
>    3.               if canread(1000) then  begin
>    4.               LCMD := Recvstring(1000);
>    5.               myconverterfunc1:=...@callconv1;
>    6.               myconverterfunc1(LCMD);
>    7.               end
>    8.               else
>    9.               sleep(100);
>    10.          end;
>
>
>
>
> On Wed, May 27, 2009 at 11:59 AM, lloyd thomas 
> <[email protected]>wrote:
>
>> I managed to get an error, but it is meaningless to me.
>> error = Timeout during operation 27/05/2009 00:09:35
>>
>> Which is a bit strange as I would not expect any activity at that time.
>> Any Ideas?
>>
>> 2009/5/25 Werner Hauptfleisch <[email protected]>:
>> > Hi,
>> >
>> > To get the error description to you can just read the value of
>> LastErrorDesc
>> > if LastError <> 0.
>> >
>> > W
>> >
>> > On Mon, May 25, 2009 at 3:45 AM, lloyd thomas <[email protected]
>> >
>> > wrote:
>> >>
>> >> Could be GetErrorDesc(LastError);
>> >>
>> >> found this in synaser.pas
>> >> {:Returns the descriptive text associated with ErrorCode. You need this
>> >>     method only in special cases. Description of LastError is now
>> >> accessible
>> >>     through the LastErrorDesc property.}
>> >>    class function GetErrorDesc(ErrorCode: integer): string;
>> >>
>> >> I'll give it a try.
>> >> Thanks for the info.
>> >>
>> >> 2009/5/24 Roberto <[email protected]>:
>> >> > You are writing the error to console _only if_ there is an exception
>> >> > raised. If LastError <> 0, there will be no error message displayed.
>> >> > add this after your current WriteLn(): if LastError<> 0 then WriteLn(
>> >> > ..LastError... and ..ErrorDesc...)
>> >> > (I can't remember the exact property/function to get the last error
>> >> > description, look it up).
>> >> >
>> >> > 2009/5/24 lloyd thomas <[email protected]>:
>> >> >> Thanks Werner,
>> >> >> I am not sure what the error is and I am not clear how to get it
>> would
>> >> >> the following be the correct way?
>> >> >>
>> >> >> if active = true then begin
>> >> >>      try
>> >> >>      while not (terminated) do begin
>> >> >>            if lastError<>0 then break;
>> >> >>              if canread(1000) then  begin
>> >> >>              LCMD := Recvstring(1000);
>> >> >>              myconverterfunc1:=...@callconv1;
>> >> >>              myconverterfunc1(LCMD);
>> >> >>              end;
>> >> >>              end;
>> >> >>        end;
>> >> >>        except
>> >> >>        on E: Exception do
>> >> >>        Writeln(E.message);  //write error
>> >> >>      end;
>> >> >>
>> >> >> 2009/5/23 Werner Hauptfleisch <[email protected]>:
>> >> >>> I note you are breaking out of the while statement when lastError
>> <>
>> >> >>> 0.
>> >> >>> Should an error occur and the process loose control of the serial
>> >> >>> port, why
>> >> >>> not try and connect and configure the port again? Also, what is the
>> >> >>> error
>> >> >>> that you are getting when it stops to collect data?
>> >> >>>
>> >> >>> On Wed, May 20, 2009 at 1:34 PM, lloyd thomas
>> >> >>> <[email protected]>
>> >> >>> wrote:
>> >> >>>>
>> >> >>>> I have written a console app witch uses synaser to collect data
>> which
>> >> >>>> is then converted and placed into a database.
>> >> >>>> The problem I am having is that the app will run for a couple of
>> days
>> >> >>>> and then the serial port part of it will stop collecting data. If
>> I
>> >> >>>> restart the app it happens all over again.
>> >> >>>> Rather than bore you here I have placed an abridged version of the
>> >> >>>> code
>> >> >>>> here
>> >> >>>>
>> >> >>>> http://pastebin.com/m5e3de129
>> >> >>>>
>> >> >>>> I am using:
>> >> >>>> Windows Vista Business
>> >> >>>> Lazarus 0.9.26 Beta
>> >> >>>> FPC 2.2.2
>> >> >>>>
>> >> >>>> Thanks for you help in advance
>> >> >>>>
>> >> >>>> Lloydie T
>> >> >>>>
>> >> >>>>
>> >> >
>> >> >
>> >> >
>> ------------------------------------------------------------------------------
>> >> > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
>> >> > is a gathering of tech-side developers & brand creativity
>> professionals.
>> >> > Meet
>> >> > the minds behind Google Creative Lab, Visual Complexity, Processing,
>> &
>> >> > iPhoneDevCamp asthey present alongside digital heavyweights like
>> >> > Barbarian
>> >> > Group, R/GA, & Big Spaceship. http://www.creativitycat.com
>> >> > _______________________________________________
>> >> > synalist-public mailing list
>> >> > [email protected]
>> >> > https://lists.sourceforge.net/lists/listinfo/synalist-public
>> >> >
>> >>
>> >>
>> >>
>> ------------------------------------------------------------------------------
>> >> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
>> >> is a gathering of tech-side developers & brand creativity
>> professionals.
>> >> Meet
>> >> the minds behind Google Creative Lab, Visual Complexity, Processing, &
>> >> iPhoneDevCamp asthey present alongside digital heavyweights like
>> Barbarian
>> >> Group, R/GA, & Big Spaceship. http://www.creativitycat.com
>> >> _______________________________________________
>> >> synalist-public mailing list
>> >> [email protected]
>> >> https://lists.sourceforge.net/lists/listinfo/synalist-public
>> >
>> >
>> >
>> ------------------------------------------------------------------------------
>> > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
>> > is a gathering of tech-side developers & brand creativity professionals.
>> > Meet
>> > the minds behind Google Creative Lab, Visual Complexity, Processing, &
>> > iPhoneDevCamp asthey present alongside digital heavyweights like
>> Barbarian
>> > Group, R/GA, & Big Spaceship. http://www.creativitycat.com
>> > _______________________________________________
>> > synalist-public mailing list
>> > [email protected]
>> > https://lists.sourceforge.net/lists/listinfo/synalist-public
>> >
>> >
>>
>>
>> ------------------------------------------------------------------------------
>> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
>> is a gathering of tech-side developers & brand creativity professionals.
>> Meet
>> the minds behind Google Creative Lab, Visual Complexity, Processing, &
>> iPhoneDevCamp as they present alongside digital heavyweights like
>> Barbarian
>> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com
>> _______________________________________________
>> synalist-public mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/synalist-public
>>
>
>
------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
synalist-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synalist-public

Reply via email to