我正在尝试将一个程序集成到OMNET,并从特定类中创建的方法发送消息。此方法调用Module中的另一个方法。 以下代码描述了我想要做的事情。
#include "Txcc.h"
Define_Module(Txcc);
Txcc::Txcc() {
// TODO Auto-generated constructor stub
}
Txcc::~Txcc() {
// TODO Auto-generated destructor stub
}
void Txcc::initialize()
{
// Am I tuc
ev << "XXXXX INITILIZING XXXXX\n";
}
void Txcc::handleMessage(cMessage *msg)
{
ev << " message received " << endl;
}
void Txcc::finish() {
printf("%s\n", " finishing ....");
}
// -----------------------------------------------------
void Txcc::submitMessageQueue() {
printf("%s\n", "***************************");
printf("%s\n", "Message submitted ...");
printf("%s\n", "***************************");
cMessage *Mess = new cMessage();
cSimpleModule::send(Mess,"out");
}
// --------------------------------------------------------
调用submitMessageQueue的代码片段是: ..... Txcc发射器; Transmitter.submitMessageQueue();
调用此方法时,模拟会崩溃并显示以下消息:
事件#1错误,t = 0:(Txcc):没有这样的门或门矢量:`out'。
由于debug-on-errors = true配置选项,在上面的异常上进行TRAPPING。你的调试器准备好了吗? 在抛出'cRuntimeError'的实例后终止调用 what():send()/ sendDelayed():( Txcc):没有这样的门或门矢量:`out'
使用退出代码终止模拟:134
任何人都可以帮我提供一些有关如何修复它的信息吗?
此致 安德烈
答案 0 :(得分:0)
你的Txcc ned文件是否存在名为out的输出门?
喜欢
simple Txcc{
gate:
output out;
}
使用send()
时,请确保ned文件存在您命名的对应输出门。