string 转换到 PChar时,如果直接 PChar(xxx)强转,可能会把中文最后一个字符截断,所以最好用 StrPCopy(),防止出现类似的悲剧。
MSComm不能打开16号以后的串口,所有不要用这个坑爹的玩意。
CnRS232(也就是SPComm的改进版)用了消息处理,所以如果程序没有窗体,则需要增加消息处理线程。
动态库设计:
1、如果动态库里的接口方法参数中存在string 和PChar混用的情况,在多个动态库间调用时,会导致对PChar的赋值出现错。
2、隔动态库传递接口指针时,如果提取指针的程序为.Net托管代码,然后再传给非托管动态库后,在释放时,会发生内存释法异常,原因可能是Dll中的引用计数异常引起的,方法没找到,暂时的处理方法是吃掉这个异常。
3、Delhpi的动态库如果存在多线程调用,一定要加上IsMultiThread := True;(说起来都是泪啊。)