0

我正在尝试将一个程序集成到 OMNET 并从在特定类中创建的方法发送消息。此方法调用模块内的另一个方法。以下代码描述了我正在尝试做的事情。

    #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;Transmitter.submitMessageQueue();

调用此方法时,模拟崩溃并显示以下消息:

事件 #1 时出错,t=0:(Txcc):没有这样的门或门向量:“out”。

由于 debug-on-errors=true 配置选项,捕获上述异常。你的调试器准备好了吗?在抛出一个'cRuntimeError'实例后调用终止what():send()/sendDelayed():(Txcc):没有这样的门或门向量:'out'

模拟以退出代码终止:134

谁能帮我提供一些有关如何修复它的信息?

真诚的,安德烈

4

1 回答 1

0

您的 Txcc ned 文件是否存在名为 out 的输出门?

喜欢

simple Txcc{
    gate:
        output out;
}

确保 ned 文件存在您命名的对应输出门,当您使用send().

于 2014-03-07T06:52:35.210 回答