我在Unit1中定义了一个函数
function ReadData(StrData:Pchar):smallint;然后在Unit2中调用它:var
s:string;
buf:array[0..255] of char;
begin
readdata(buf);
s:=copy(buf,1,1);
edit1.text:=s;
end;
编译通过,运行时到“edit1.text:=s;”处就出错如果把这行删除或换成“showmessage(s);”则成功。请各位大侠看看是什么问题。
function ReadData(StrData:Pchar):smallint;然后在Unit2中调用它:var
s:string;
buf:array[0..255] of char;
begin
readdata(buf);
s:=copy(buf,1,1);
edit1.text:=s;
end;
编译通过,运行时到“edit1.text:=s;”处就出错如果把这行删除或换成“showmessage(s);”则成功。请各位大侠看看是什么问题。
解决方案 »
- dcphashes md5 不可逆加密控件 如何使用
- 定义公式自动计算
- 哪位有delphi开发ocx控件的资料
- String 如何转换成 WideString ???
- 请问高手如何获取ISAPI的dll程序所在的绝对路径?用于设置ADOquery组件中connectstring属性的数据库绝对路径!
- 用户权限问题讨论
- 请问:以mb为扩展名的文件是什么文件?-----*.MB!!!!!
- 怎么用DELPHI获取网卡的MAC地址?
- 我用ado_table连接sql_server数据库上的一个表,表中记录数在1万条左右,仅仅将ado_table open一下就要花费7、8秒时间。该怎么办?
- ado的问题(急)
- 如何在三个表中提取相应的字段?在线等待!!!
- 请教如何实现当鼠标移在图片左边时显示Hint为'左'、到右边时显示Hint为'右'?
function ReadData(StrData:Pchar):smallint;然后在Unit2中调用它:var
s:string;
buf:array[0..255] of char;
begin
readdata(buf);
s:=copy(buf,1,1);
edit1.text:=StrPas(s);
end;
var
offset:smallint;
readlen:byte;
readbuf:array[0..255]of byte ;
recv:integer;
i:integer;
s:string;
begin
offset:=66;
readlen:=22;
recv:=ReadSle4428(offset,readlen,readbuf);
//ReadSle4428是一个读卡程序,将地址偏移量是offset,
//长度为readlen的数据读入readbuf中
for i:=0 to recv-1 do
s:=s+chr(readbuf[i]);
StrCopy(strdata, PChar(s));
readdata:=recv;
end;
我用你方法试了,也不行
procedure readdata(strData: Pchar);
begin
FillMemory(strData, 256, 96);
end;
Var
s:string;
buf:array[0..255] of char;
begin
readdata(buf);
s:=copy(buf,1,1);
edit1.text:=s;
end;
access violation at 0x00453969:read of address 0x000002f9