小问题,送分题,可是我不会,望各位指教,声明类!(30分)

  • 主题发起人 主题发起人 dingtip
  • 开始时间 开始时间
D

dingtip

Unregistered / Unconfirmed
GUEST, unregistred user!
我用共享单位声明了一个类,想用私有函数赋值给类成员变量。可是编译器提示
incompatiable types.不知那里犯了错,还有如何声明全局变量。
unit ShareUnit;

interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Registry, StdCtrls;
type
TShare = class(Tobject)
private
function GetVerType(const AFlag): Integer;
public
procedure CloseIPCClose;
function GetWindowsVersion: String;
property VerType: Integer read GetVerType;
end;


implementation
 
function GetVerType: Integer;
不要参数
 
全局变量是你只要放在PUBLIC中声明就可以了,使用这种方法你要在其它要使用它的变量,你必须要implemnentstion....后面有一个uses xxUnit; 这样你在当前的FORM中就可以使用你在另一个xxUnit中变量了,使用方法是:xxform.xxx 就可以了。还有一种定义就是直接定义在var 后面,就是与formname同级,这样你使用变量时就不用加前面的formname名了。
编译出错,说明你的定义变量类型不对,编译时应该可以指定到哪里出错
 
声明类时:
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Registry, StdCtrls;
type
TShare = class(Tobject)
private
function GetVerType(const AFlag): Integer; //不要传参数
public
procedure CloseIPCClose;
function GetWindowsVersion: String;
property VerType: Integer read GetVerType;
end;

var
varirant: Integer;//声明全局变量
implementation
 
接受lucarl的答案,谢谢zhanggx!
 
后退
顶部