0

I'm a newbie in OMNet. In my project, I dynamically create a simple module, and I want to use the object created by this module. Does anyone can give me some help?

Source is here:

cModuleType* moduleType = cModuleType::get("Person");
cModule *mod = moduleType->create("per", this->getParentModule());
mod->buildInside();
mod->scheduleStart(simTime());
mod->callInitialize();
job->mod = mod;

Basically, I want to find the object related to the "mod".

Thank you

4

1 回答 1

0

我不确定你的意思是“找到”你创建的对象。你已经有了你创建的对象,你可能只需要强制转换它来做任何有用的事情。

如果你的意思是你想对模块“mod”进行操作,你可以通过将“mod”转换为你声明的模块类型(比如 MyModule)来实现。

MyModule *my_mod = check_and_cast<MyModule *>(mod);

然后,您可以在 MyModule 类(通常是 MyModule.cc)中定义一些公共函数,这些函数可以执行您想做的任何事情。

MyModule::my_method() {some code}

如果你已经这样做了,在当前函数中,你可以去:

my_mod->my_method();

我希望这回答了你的问题。

于 2012-02-16T12:38:05.380 回答