接收到的数据只有我通过扫描枪扫得真实数据的1/3左右,其他的没有接受到,怎么回事?
解决方案 »
- 求助:Rainze5 中的RZGroupBar和RZpageControl控制设计怎么加新项啊?
- 如何在编译期使用在运行期才会载入的bpl模块中的控件?
- 问问大家,Tcx的控件组在那里可以找到?例如TCXButton,TCXEdit等等
- 想请教一下外挂的问题
- Panel的Visable属性从FALSE变成TRUE,就是从不显示到显示的过程,激发什么事件?
- [ 请教一个初级问题!----关于工程 ]
- 如何在TreeView失去焦点时,让其所选的Node保持与其他的Node不同的区分颜色
- 超级菜鸟级问题。
- 怎么用ADO连接SQL SERVER2000
- 用Delphi怎么做需要指定proxy的程序
- 如何实现TListView的节点在选择时像AcdSee软件一样
- ListBox中不算难的问题(字体显示方面)
BufferLength: Word);
var
ReStr,strsql:string;
WReStr:WideString;
begin
Setlength(ReStr,BufferLength);
Move(Buffer^,PChar(ReStr)^,BufferLength);
savelog('test',trim(restr));
edit1.Clear;
edit1.Text:=trim(restr);
jxstr(trim(restr));
end;-------------------------
在2000系统下没问题,我测试了几次好像是每次扫描后的数据没有读取完整,下次再扫描的时候上次的部分数据能收到
这里面的代码和我写得没什么差别好像
这个叶面我都看了好几遍了
BufferLength: Word);
var
//ReStr,strsql:string;
Restr:array [0..255]of byte;
WReStr:WideString;
begin
//Setlength(ReStr,BufferLength);
Move(Buffer^,ReStr,BufferLength);//---你作为PCHAR来处理时,如果你的数据中#0的话,会被截断的。你换成BYTE数据自己转换下试试看吧。我以前就碰到这样的事。
savelog('test',trim(restr));
edit1.Clear;
edit1.Text:=trim(restr);
jxstr(trim(restr));
end;
// Default size of the Input Buffer used by this code.
INPUTBUFFERSIZE = 2048;
我将2048改成64就可以了,为什么改成64,因为我测试了一下,发现当接收到长内容的时候,其实是分多次接受的,每次接受的长度为63,不知道这个该法对不对,今天继续测试以下,看看正确与否,欢迎大家继续讨论,今天揭帖。