ymofen / msgpack-delphi

MessagePack implementation for Pascal / msgpack.org[Pascal]
BSD 2-Clause "Simplified" License
50 stars 23 forks source link

Free pascal? #2

Open cpicanco opened 8 years ago

cpicanco commented 8 years ago

Wondering if it would work with free pascal, lazarus...

ymofen commented 8 years ago

应该是没问题的。有问题请反馈。

cpicanco commented 8 years ago

Yes, it should work. Lets improve the FPC/Lazarus compatibility?

With Lazarus 1.6.0 and FPC 3.0.0. Testing another day, after an auto conversion of the prjPackAndUnpack project to lazarus project by means of the built in conversion tool, the following messages occurred:

Compile Project, Target: prjPackAndUnPack: Exit code 256, Errors: 4
SimpleMsgPack.pas(93,7) Error: Incompatible types: got "AnsiString" expected "Int64"
SimpleMsgPack.pas(93,7) Error: Compile time expression: Wanted Boolean but got <erroneous type> at IF or ELSEIF
SimpleMsgPack.pas(97,7) Error: Incompatible types: got "AnsiString" expected "Int64"
SimpleMsgPack.pas(97,7) Error: Compile time expression: Wanted Boolean but got <erroneous type> at IF or ELSEIF

Same discussion here http://forum.lazarus.freepascal.org/index.php/topic,33762.msg219285.html#msg219285

cpicanco commented 8 years ago

Some suggestions, please let me know if it fits your requirements for a pull request.

program prjPackAndUnPack;

{$MODE Delphi}

uses
  Forms, Interfaces,
  ufrmMain in 'ufrmMain.pas' {Form2},
  SimpleMsgPack in '..\..\SimpleMsgPack.pas',
  uByteTools in 'uByteTools.pas',
  DMsgPackHelper in '..\..\DMsgPackHelper.pas';

{.$R *.res}

begin
  {$IFNDEF FPC}
  ReportMemoryLeaksOnShutdown := true;
  {$ENDIF}
  Application.Initialize;

  {$IFDEF WINDOWS}
  Application.MainFormOnTaskbar := True;
  {$ENDIF}

  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.                 

For the other files, appending the following code right after the {$MODE DELPHI} directive allowed me to compile the project:

// use DELPHI 7 versions
// http://wiki.delphidabbler.com/index.php/Notes/VersionNumbers
{$IFDEF FPC}
  {$MACRO ON}
  {$define RTLVersion :=  15}
  {$define CompilerVersion := 15}
{$ENDIF}  

Lot of warnings though:

Compile Project, Target: prjPackAndUnPack: Success, Warnings: 138, Hints: 82
SimpleMsgPack.pas(366,28) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(366,22) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(367,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(367,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(366,28) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(367,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(373,28) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(373,22) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(374,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(374,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(374,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(374,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(375,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(375,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(375,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(375,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(376,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(376,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(373,28) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(374,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(374,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(375,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(375,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(376,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(382,28) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(382,22) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(383,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(383,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(383,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(383,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(384,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(384,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(384,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(384,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(385,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(385,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(385,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(385,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(386,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(386,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(386,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(386,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(387,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(387,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(387,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(387,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(388,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(388,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(388,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(388,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(389,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(389,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(382,28) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(383,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(383,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(384,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(384,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(385,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(385,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(386,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(386,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(387,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(387,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(388,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(388,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(389,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(396,28) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(396,22) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(397,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(397,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(397,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(397,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(398,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(398,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(398,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(398,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(399,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(399,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(399,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(399,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(400,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(400,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(400,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(400,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(401,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(401,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(401,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(401,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(402,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(402,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(402,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(402,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(403,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(403,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(396,28) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(397,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(397,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(398,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(398,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(399,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(399,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(400,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(400,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(401,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(401,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(402,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(402,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(403,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(410,28) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(410,22) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(411,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(411,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(411,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(411,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(412,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(412,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(412,40) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(412,34) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(413,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(413,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(410,28) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(411,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(411,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(412,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(412,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(413,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(420,28) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(420,22) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(421,9) Warning: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(421,3) Hint: Conversion between ordinals and pointers is not portable
SimpleMsgPack.pas(420,28) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(421,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
SimpleMsgPack.pas(461,3) Warning: unreachable code
SimpleMsgPack.pas(551,12) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
SimpleMsgPack.pas(540,80) Hint: Parameter "len" not used
SimpleMsgPack.pas(962,51) Hint: Local variable "j" does not seem to be initialized
SimpleMsgPack.pas(962,48) Hint: Local variable "lvParent" does not seem to be initialized
SimpleMsgPack.pas(1251,5) Warning: unreachable code
SimpleMsgPack.pas(1393,52) Hint: Local variable "j" does not seem to be initialized
SimpleMsgPack.pas(1393,49) Hint: Local variable "lvParent" does not seem to be initialized
SimpleMsgPack.pas(1570,23) Hint: Local variable "lvByte" does not seem to be initialized
SimpleMsgPack.pas(1694,25) Hint: Local variable "lvBData" does not seem to be initialized
SimpleMsgPack.pas(2018,52) Hint: Local variable "j" does not seem to be initialized
SimpleMsgPack.pas(2018,49) Hint: Local variable "lvParent" does not seem to be initialized
SimpleMsgPack.pas(2117,3) Warning: unreachable code
SimpleMsgPack.pas(96,50) Hint: Unit "contnrs" not used in SimpleMsgPack
ufrmMain.pas(52,25) Note: Local variable "lvTempPack" not used
ufrmMain.pas(77,25) Note: Local variable "lvTempPack" not used
ufrmMain.pas(123,25) Note: Local variable "lvTempPack" not used
ufrmMain.pas(170,25) Note: Local variable "lvTempPack" not used
ufrmMain.pas(209,28) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(209,22) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(210,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(210,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(210,40) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(210,34) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(211,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(211,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(211,40) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(211,34) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(212,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(212,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(212,40) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(212,34) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(213,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(213,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(213,40) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(213,34) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(214,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(214,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(214,40) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(214,34) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(215,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(215,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(215,40) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(215,34) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(216,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(216,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(209,28) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(210,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(210,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(211,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(211,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(212,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(212,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(213,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(213,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(214,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(214,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(215,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(215,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(216,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(223,28) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(223,22) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(224,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(224,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(224,40) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(224,34) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(225,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(225,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(225,40) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(225,34) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(226,9) Warning: Conversion between ordinals and pointers is not portable
ufrmMain.pas(226,3) Hint: Conversion between ordinals and pointers is not portable
ufrmMain.pas(223,28) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(224,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(224,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(225,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(225,40) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(226,9) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.
ufrmMain.pas(237,8) Warning: Symbol "GetTickCount" is deprecated: "Use GetTickCount64 instead"
ufrmMain.pas(256,45) Warning: Symbol "GetTickCount" is deprecated: "Use GetTickCount64 instead"
ufrmMain.pas(273,45) Warning: Symbol "GetTickCount" is deprecated: "Use GetTickCount64 instead"
ufrmMain.pas(290,45) Warning: Symbol "GetTickCount" is deprecated: "Use GetTickCount64 instead"
ufrmMain.pas(308,45) Warning: Symbol "GetTickCount" is deprecated: "Use GetTickCount64 instead"
ufrmMain.pas(232,3) Note: Local variable "lvBytes" not used
ufrmMain.pas(392,7) Note: Local variable "s2" not used
ufrmMain.pas(418,49) Warning: Local variable "lvBytes" does not seem to be initialized
ufrmMain.pas(8,21) Hint: Unit "LMessages" not used in ufrmMain
ufrmMain.pas(8,32) Hint: Unit "Messages" not used in ufrmMain
cpicanco commented 8 years ago

Useful links for me:

cpicanco commented 8 years ago

Getting errors while pressing the test buttons with v. 15.

No errors using the following versions.

{$IFDEF FPC} {$MACRO ON} {$define RTLVersion := 25} {$define CompilerVersion := 18} {$ENDIF}

ymofen commented 8 years ago

你好, 最近几天没关注github。 由于我没有FPC环境,一些错误我无法调试。 我已经邀请你加入该项目,希望能和你一起完善该项目。希望你能加入。

cpicanco commented 8 years ago

Thank you, I hope to be a valuable contributor. I will work by Pull Request', anyway. Please, if you have any interest and when you find the time, take a look at the Lazarus 1.6. It is awesome.