最近统信UOS火,支持国产生态os,尝试在UOS下开发。
图形化开发平台lazarus是一个很好的选择,对有pascal,delphi使用经验的同学也很友好。增加网络控件支持indy,添加任何一个控件,都会异常出错。
在Windows下,默认系统编译是支持thread的,在Linux下的编译是默认不包含thread的控制,而indy内置了thread的大量调用,会出现异常的错误,在exception的跟踪中,可以看到。
如果UOS直接运行,画面一闪而过,看不到什么信息。在terminal下,可以看到debug信息。
解决版本,1.在lpr中,有解决方案了,直接使用cthreads单元即可,需要符号UseCthreads的定义,在编译参数中解决。
2.直接修改lpr,使用cthreads单元,问题解决
3.编辑/etc/fpc.cfg文件,增加
-dUNIX
-dUseCThreads
也可以解决,解决的更好,在很多单元中,有对UNIX的判断,可以确保lazarus在linux的编译运行