Я пытаюсь интегрировать одну программу в 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.submitMessageQueue ();
Когда вызывается этот метод, симуляция завершается с сообщением:
Ошибка в событии № 1, t = 0: (Txcc): нет такого строба или вектора строба: `out ‘.
TRAPPING для исключения выше, из-за опции конфигурации debug-on-errors = true. Ваш отладчик готов?
прекращение вызова после выброса экземпляра ‘cRuntimeError’
what (): send () / sendDelayed (): (Txcc): таких ворот или вектора ворот нет: `out ‘
Симуляция завершена с кодом выхода: 134
Может кто-нибудь помочь мне с информацией о том, как это исправить?
С уважением,
Andre
Ваш файл Txcc Ned существует выходной шлюз с именем out?
лайк
simple Txcc{
gate:
output out;
}
убедитесь, что файл ned существует в соответствии с указанными вами выходными воротами, когда вы используете send()
,
Других решений пока нет …