求救dll问题:在dll用传入TIdTCPServer控件的TIdPeerThread问题
本人写了一个dll,在dll中使用了TIdTCPServer控件的function SetSysInfoBuffer(AThread: TIdPeerThread): boolean;
var
SysTemp: TSys_Info;
begin
with AThread.Connection do
begin
GetSys_Info(SysTemp);
OpenWriteBuffer;
try
WriteBuffer(SysTemp, Sizeof(SysTemp), False);
CloseWriteBuffer;
except
Writeln('ERROR');
CancelWriteBuffer;
raise;
end;
end;
end;在运行 OpenWriteBuffer函数是就停止那个地方,为什么!请问程序高手!为什么呢!谢谢!在线等!
本人写了一个dll,在dll中使用了TIdTCPServer控件的function SetSysInfoBuffer(AThread: TIdPeerThread): boolean;
var
SysTemp: TSys_Info;
begin
with AThread.Connection do
begin
GetSys_Info(SysTemp);
OpenWriteBuffer;
try
WriteBuffer(SysTemp, Sizeof(SysTemp), False);
CloseWriteBuffer;
except
Writeln('ERROR');
CancelWriteBuffer;
raise;
end;
end;
end;在运行 OpenWriteBuffer函数是就停止那个地方,为什么!请问程序高手!为什么呢!谢谢!在线等!
解决方案 »
- 请教如何把一个过程赋给事件触发执行
- [反外挂]如何制作一个反外挂的游戏登陆器,进来有分.请大家关注
- 请教如何在dll中实现一个定时控制?多谢!
- 谁能发一个数据库流程图让我做参考
- 怎样在程序里使得不往listbox里添加重复值?为什么我的代码不对?
- 关于TXT直接在程序中打印的问题
- 那里有DELPHI6中文版下载??????????????
- 大家好!谁能告诉怎么判断一个MDIChild窗口是否已经打开
- checkbox的奇怪问题!!
- 哪位朋友知道李维的主页?
- 急呀.谁来帮帮我!!!
- 我在Rave报表上放了一个databand然后在它上面放了一个datatext为什么不能显示datatext中的数呢???
var
RootDStream: TStringStream;
RootDStrList: TStringList;
begin
try
RootDStrList := TStringList.Create;
except
AThread.Connection.Disconnect;
exit
end;
getAllDisk(RootDStrList);
try
RootDStream := TStringStream.Create('');
except
RootDStrList.Free;
AThread.Connection.Disconnect;
exit;
end;
RootDStrList.SaveToStream(RootDStream);
try
RootDStream.Position := 0;
AThread.Connection.WriteInteger(RootDStream.Size);//这个函数一运行就停止那个地方
AThread.Connection.WriteStream(RootDstream);
except
RootDStrList.Free;
RootDStream.Free;
AThread.Connection.Disconnect;
exit;
end;
//------------------------------
RootDStrList.Free;
RootDStream.Free;
end;
var
RootDStream: TStringStream;
RootDStrList: TStringList;
begin
try
RootDStrList := TStringList.Create;
except
AThread.Connection.Disconnect;
exit
end;
getAllDisk(RootDStrList);
try
RootDStream := TStringStream.Create('');
except
RootDStrList.Free;
AThread.Connection.Disconnect;
exit;
end;
RootDStrList.SaveToStream(RootDStream);
try
RootDStream.Position := 0;
AThread.Connection.WriteInteger(RootDStream.Size);//这个函数一运行就停止那个地方
AThread.Connection.WriteStream(RootDstream);
except
RootDStrList.Free;
RootDStream.Free;
AThread.Connection.Disconnect;
exit;
end;
//------------------------------
RootDStrList.Free;
RootDStream.Free;
end;