传递数组或序列以在 idl Java Corba 中运行
Posted
技术标签:
【中文标题】传递数组或序列以在 idl Java Corba 中运行【英文标题】:Passing an array or sequence to function in idl Java Corba 【发布时间】:2012-11-25 17:57:47 【问题描述】:在尝试将数组或序列添加到 idl 文件中定义的函数时,例如
// BackupDaemon.idl
interface BackupDaemon;
#ifndef BackupDaemon_idl
#define BackupDaemon_idl
typedef sequence<BackupDaemon> BackupDaemonList;
#include "BackupExceptions.idl"
interface BackupDaemon
boolean startBackup(in sequence<string> backupPathes ,in string backupDaemonMacAddress);
;
#endif
我收到以下错误:-
Expected one of `float' `double' `long' `short' `un
signed' `char' `wchar' `boolean' `octet' `any' `string' `wstring' `<identifier>'
`::' `ValueBase'; encountered `sequence'.
boolean startBackup(in sequence<string> backupPathes ,in string backupDaemo
nMacAddress);
那么如何将数组或序列传递给 idl 文件中定义的函数? 提前致谢。 ^
【问题讨论】:
是java吗?重新标记您的问题。 我阅读了标识符映射并尝试了,但每次我得到错误。 和CORBA有关,我修改了tag。感谢您的通知 【参考方案1】:序列不能直接用于 CORBA 操作。你需要先typedef
他们:
typedef sequence<string> BackupPathesStrings;
interface BackupDaemon
boolean startBackup(in BackupPathesStrings backupPathes, in string backupDaemonMacAddress);
;
见:Sequences and Arrays
【讨论】:
以上是关于传递数组或序列以在 idl Java Corba 中运行的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse Kepler CORBA 插件不会编译 IDL 文件