gpt4 book ai didi

delphi - 不同单位的Delphi枚举

转载 作者:行者123 更新时间:2023-12-03 19:13:38 25 4
gpt4 key购买 nike

因此,我使用Delphi来使用SOAP服务,但是却难以设置枚举的值。下面是枚举声明:

Extension = (pdf, xls, txt, xlsx, docx, doc, xml, png, jpg, gif);


导入WSDL后,这在Delphi导入单元中声明。
现在,我的应用程序正在使用此单元,并且我尝试了以下选项,但无济于事。

选项1 :(不编译。未声明的标识符:“ pdf”)

uses SOAPAPI_Unit
type
Extension = SOAPAPI_Unit.Extension;
....
procedure TForm1.Button2Click(Sender: TObject);
var
Ext : Extension;
begin
Document.Extension := pdf;
end;


选项2 :(编译,但是出现服务器错误,提示未设置对象引用)

uses SOAPAPI_Unit

....
procedure TForm1.Button2Click(Sender: TObject);
var
Ext : SOAPAPI_Unit.Extension;
begin
Document.Extension := Ext(0);
end;


选项3(在主.pas文件中重新声明枚举,但随后得到不兼容的类型:“ SOAPAPI_Unit.Extension”和“ formMain.Extension”)

uses SOAPAPI_Unit
type
Extension = (pdf, xls, txt, xlsx, docx, doc, xml, png, jpg, gif);
....
procedure TForm1.Button2Click(Sender: TObject);
var
Ext : Extension;
begin
Document.Extension := pdf;
end;


选项4(编译,但未从服务器获取对象引用设置错误)

uses SOAPAPI_Unit
....
procedure TForm1.Button2Click(Sender: TObject);
var
Ext : Extension;
begin
Document.Extension := Ext.pdf;
end;

最佳答案

缺省情况下,WSDL-Importer生成具有作用域枚举的代码。这要求任何枚举都必须在其类型之前。在不知道实际导入文件的情况下,我猜这应该可以工作:

uses SOAPAPI_Unit
....
procedure TForm1.Button2Click(Sender: TObject);
begin
Document.Extension := Extension.pdf;
end;

关于delphi - 不同单位的Delphi枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41694391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com