请教,各位大哥怎么 show 出 var 型变量的值啊?谢谢! |
尚未結案
|
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; var
Form1: TForm1; implementation uses
unit2; {$R *.dfm} procedure TForm1.Button4Click(Sender: TObject); var
com:COMDATA;
begin
com.comport:=1;
com.Address:=0; showmessage(inttostr(u_GetVer(com)));//这里是显示出函数返回值 现在我要返回 ReData:array[0..DATA_MAX-1] of byte 的值,
showmessage(com.ReData)//这样写不正确啊~~我要,怎么写语句啊? end; end. unit Unit2; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; const
DATA_MAX = 100;
type
COMDATA=packed record
comport:byte;
Address:byte;
ReData:array[0..DATA_MAX-1] of byte;
end; function u_GetVer(var comdata:COMDATA):smallint;stdcall;
implementation function u_GetVer(var comdata:COMDATA):smallint;external 'GSHW.dll'; end. ////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
还补充两点:
COMDATA结构:
ComPort 通信串口号 1 - 255
Address 设备地址 0 - 255
ReData 函数输出值 (100 Bytes) 在 c 语言中是在有定义的:
typedef struct _COMDATA{
unsigned char ComPort;
unsigned char Address;
unsigned char ReData[DATA_MAX];
}COMDATA; 我在 delphi 中这样调用:
procedure TForm1.Button4Click(Sender: TObject); var
com:COMDATA;
begin
com.comport:=1;
com.Address:=0; showmessage(inttostr(u_GetVer(com)));//这里是显示出函数返回值
end; end. 可是 show 出来的结果是:1 ,1对应的输入参数错误 请教各位大哥:
com.comport:=1;
com.Address:=0;
错了吗?
是不是 ReData 没有初始化? 谢谢!
|
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
|
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
|
lsh998
中階會員 發表:163 回覆:138 積分:60 註冊:2005-01-07 發送簡訊給我 |
大哥,在 C 语言中有:
Public Const DATA_MAX = 100 typedef struct _COMDATA{
unsigned char ComPort;
unsigned char Address;
unsigned char ReData[DATA_MAX];
}COMDATA; 在 DELPHI 中怎么表示啊? 我这样表示,是不是写错了啊? const
DATA_MAX = 100;
type
COMDATA=packed record
comport:byte;
Address:byte;
ReData:array[0..DATA_MAX-1] of byte;
end; 谢谢!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |