小编PTB*_*TBG的帖子

org.omg.CORBA.MARSHAL:服务器端异常:null

我正在尝试注册 CORBA CosNotification 服务。在我尝试连接的服务的文档中,它说我必须有一个CosNotifyComm::SequencePushConsumer对象,并将其附加到通知服务。我已经包含了我的代码以及我返回的错误。

AlarmClient.java

import NotificationIRPSystem.*;
import org.omg.CosNotification.*;
import org.omg.CosNotifyComm.*;
import org.omg.CosNotifyChannelAdmin.*;
import org.omg.CosNotifyFilter.*;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.PortableServer.*;


public class AlarmClient
{
  static _NotificationIRPOperations notiOp;
  public static void main (String args [])
  {
    try{
      org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init (args, null);
      org.omg.CORBA.Object objRef =
        orb.resolve_initial_references ("NameService");
      System.out.println("IOR===> " + objRef);
      NamingContextExt nc = NamingContextExtHelper.narrow(objRef);
      String name = "com/ericsson/nms/cif/service/NMSNAConsumer";
      String portal = "com/ericsson/nms/cif/service/NMSNAPortal";
      org.omg.CORBA.Object notiObj = nc.resolve_str(name);
      System.out.println(nc.resolve_str(portal));
      System.out.println("noti---->" + notiObj);
      _NotificationIRPOperations tt = _NotificationIRPOperationsHelper.narrow(notiObj);

      IRPManager irpMan …
Run Code Online (Sandbox Code Playgroud)

web-services corba marshalling jacorb

2
推荐指数
1
解决办法
8984
查看次数

Qt资源文件解决方法

我在Qt开发一个桌面应用程序.我需要它是非常可配置的,因此,我需要使用的图片/文件的文件名是动态的.即,根据哪个用户登录,需要显示不同的图片.话虽这么说,我需要一种方法来通过仅指定路径在QtGraphicsScene中加载图片; 我不知道文件是什么,所以我不能把它们放在资源文件中.据我所知,任何图片都必须在资源文件中声明.所以我的问题是:

如何在没有资源文件的情况下实现在应用程序中使用图片的目标,或者如何使资源文件动态化?

c++ configuration resources qt

1
推荐指数
1
解决办法
480
查看次数

如何使用没有cpp文件的头文件

我是一名java开发人员,但最近我不得不学习C++而且我对某些事情感到困惑.我想要做的是创建一个'全局'头文件,它有一个#define变量列表,它将在我创建的整个套件中保持不变.我创建了头文件,并添加了一些变量

#ifndef CONSTANTS_H
#define CONSTANTS_H

#define SM_START            1001;
#define SM_PAUSE            1002;
#define SM_STOP             1003;
#define SM_SAVE             1004;
#define SM_DISCARD          1005;
#define SM_SETUP            1007;


#endif // CONSTANTS_H
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法访问这些......

我已经将头文件包含在我需要它的位置,但我无法访问其中的常量.难道我有一个.cpp文件?有没有办法让我访问常量变量?

c++ header constants global-variables

1
推荐指数
1
解决办法
3958
查看次数

错误LNK2001:带有DLL的未解析的外部符号

我创建了一个DLL项目并成功构建它.然后我尝试在另一个Project,TEST中使用DLL,我收到以下错误.

Error   1   error LNK2001: unresolved external symbol "public: void __thiscall SnoMessage::setRawMessageName(class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >)" (?setRawMessageName@SnoMessage@@QAEXV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z)
Run Code Online (Sandbox Code Playgroud)

我在链接器属性中添加了所需的lib,并且还在TEST include目录中添加了头文件.因此该功能正在被识别,但它不断给出这些错误.DLL由以下文件组成

SnoMessage.h

#pragma once
#include "StdAfx.h"
class SnoMessage
{
public:
    __declspec(dllexport) SnoMessage(void);
    __declspec(dllexport) ~SnoMessage(void);
    __declspec(dllexport) void setRawMessageName(CString messageName);
    __declspec(dllexport) void setRawMessageType(CString messageType);
    __declspec(dllexport) void setRawMessageAttributes(std::map<CString,CString> attributes);
    __declspec(dllexport) CString getRawMessageName();
    __declspec(dllexport) CString getRawMessageType();
    __declspec(dllexport) std::map<CString,CString> getRawMessageAttributes();

private:
    CString messageName;
    CString messageType;
    std::map<CString,CString> attributes;
};
Run Code Online (Sandbox Code Playgroud)

SnoMessage.cpp

#include "stdafx.h"
#include "SnoMessage.h"


SnoMessage::SnoMessage(void)
{
}


SnoMessage::~SnoMessage(void)
{
}

void SnoMessage::setRawMessageName(CString messageName){
    this->messageName = messageName;
} …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio-2010

1
推荐指数
1
解决办法
5562
查看次数

C++ TCP套接字垃圾值

我的套接字通信非常有效.我唯一不确定的是为什么我在消息结尾处得到一些垃圾值.我发送的第一条消息在末尾包含一些额外的字符,之后的每条消息都是预期的......有没有人知道为什么会发生这种情况?

发送:

CString string = "TEST STRING TO SEND";
char* szDest;
szDest = new char[string.GetLength()];
strcpy(szDest,string);
m_pClientSocket->Send(szDest,strlen(pMsg));
Run Code Online (Sandbox Code Playgroud)

收到:(这是使用Qt)

char* temp;
int size = tcpSocket->bytesAvailable();
temp = new char[size];
tcpSocket->read(temp,size);
Run Code Online (Sandbox Code Playgroud)

c++ sockets

0
推荐指数
1
解决办法
1604
查看次数