首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DataModule上使用函数

在DataModule上使用函数
EN

Stack Overflow用户
提问于 2013-01-20 19:54:19
回答 1查看 447关注 0票数 3

我有一个数据模块(TfDB),我想将此函数添加到其中

代码语言:javascript
复制
 Function GetZone(zone :string):string;

当我尝试运行它时,我得到了这个错误...外部声明的未满足转发: TfDB.GetZone

代码语言:javascript
复制
unit MyDataModule;

interface

uses
  System.SysUtils, System.Classes, Data.DB, Data.Win.ADODB;

type
  TfDB = class(TDataModule)
    dbconnection: TADOConnection;
  private
    { Private declarations }
  public
          Function GetZone(zone :string):string;
  end;

var
  fDB: TfDB;

implementation

{%CLASSGROUP 'System.Classes.TPersistent'}

{$R *.dfm}

  Function GetZone(zone:string):string;
  begin
  if zone = 'FLayout1' then
        result := '1';
  if zone = 'FLayout2' then
      result := '2';
  if zone = 'FLayout3' then
      result := '3';
  if zone = 'FLayout4' then
      result := '4' ;
  if zone = 'FBoneYard' then
      result := 'BoneYard';
  if zone = 'FShop' then
      result := 'shop';
  if zone = 'FMisc' then
      result := 'Misc' ;
  end;

end.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-20 19:56:13

在实现部分中,您需要将函数声明为类的方法:

代码语言:javascript
复制
function TfDB.GetZone(zone:string):string;
begin
  ....
end;

您的声明如下所示:

代码语言:javascript
复制
function GetZone(zone:string):string;
begin
  ....
end;

这定义了一个独立的函数,而不是类的方法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14424240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档