mysend()
st.Read(Buf, st.Size);//当length(buf)< st.Size 时 当然出错
只能 getMem(Bufst.Size)
再 st.Read(Buf, st.Size);
st.Read(Buf, st.Size);//当length(buf)< st.Size 时 当然出错
只能 getMem(Bufst.Size)
再 st.Read(Buf, st.Size);
解决方案 »
- 怎样用流导出excel?需要带格式
- SOCKET ERROR 10054....错误
- 刚刚升级到borland官方网站的Delphi 2006的update1,问:为什么Delphi 2006完整支持VB.net开发????
- 问一个小问题,高手看一下,谢谢!
- 【简单的问题,大家都会】参数调用程序
- 有几个按钮,怎样在程序里得到当前单击的按钮的caption或name值;
- 谁能帮帮me,一定重谢!!!
- ★★★★★关于ReadEventLog函数的使用---在线等待
- 如何将数据表中的数据导入到listview中(在线)
- 很菜的问题: 怎么让窗口只有一个关闭按钮,没有最大化和最小化的按钮??
- XE3的帮助文件是怎么回事?不提供帮助文档?
- Exe中如何调用BPl中的类
buf 长度不变的情况下很容易修改. 长度变了就不行了. buf用GetMem不允许修改长度
所以只有用自己变量替换buf, char数组/pchar都不行. 谁给个例子????
直接传递st就行了随手写的
oldsend(s, st.memory^, st.Size, flags);
这个是重新分配内存了 都不行 ?
要不
pSend:PChar;
getMem(pSend,st.Size);
st.Read(pSend,st.Size);
Result :=oldsend(s, pSend, st.Size, flags);
FreeMem(pSend);
要不 你的hook 用错了 变成死循环
代码就上面那些啊. 死循环不可能的. 我替换字符串长度不变的情况是正确的. 长度变了就不行
ss := StringReplace(ss, '*/*', '11111/111', [rfReplaceAll, rfIgnoreCase]);//失败
我也遇到这个问题了,刚开始不知道是什么原因
调试了半天,终于发现原来是长度不能变,不管是加减都会卡住,buf是可以变的,唯独len不能变