【发布时间】:2014-10-27 10:20:26
【问题描述】:
我有一个使用 IDE 的标准“文件 |”创建的 Delphi XE5(更新 2)程序。新 |其他 |数据快照服务器| DataSnap REST 应用程序向导。
当用作服务器方法的参数时,我似乎无法让枚举类型工作。所有其他服务器方法都可以工作,例如那些将其他类作为参数、字符串等的方法。当我尝试从 Web 浏览器调用具有枚举参数的方法时,我收到错误消息 'Project Project1.exe raised exception class TDBXError with message 'TServerMethods1.EnumString method not found in the server method list'。
这是我的基本测试代码:
type
{$METHODINFO ON}
TMyEnum=(meOne, meTwo);
TServerMethods1 = class(TDataModule)
private
{ Private declarations }
public
{ Public declarations }
function EchoString(Value: string): string;
function ReverseString(Value: string): string;
function EnumString(const AEnum: TMyEnum): string;
end;
{$METHODINFO OFF}
然而,奇怪的是,如果枚举类型包含在另一个类中,然后这个类被传递一个参数给我的方法,我可以让它们工作。如果我将枚举参数更改为整数,那么这个工作,但我真的不想这样做。
【问题讨论】:
标签: delphi rest enums datasnap