проблема с импортом dll c++
#38488722
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
есть длл, написанная на с++.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123.
#ifndef _VaiPPQMClients_CLIENTBASE_H
#define _VaiPPQMClients_CLIENTBASE_H
#using <system.dll>
#using <vai.core.dll>
using namespace System;
using namespace System::ComponentModel;
using namespace System::Runtime::Serialization;
using namespace System::IO;
class MWclient;
namespace Vai{ namespace PPQM { namespace Clients
{
[Serializable]
public __gc class ClientEventArgs : public System::EventArgs
{
public:
__value enum EventReason {evUnknown = -1, evStart = 1, evStop = 2, evAsync = 3, evNotify = 4, evError = 5};
protected:
Object* _Data;
EventReason _Type;
public:
ClientEventArgs(Object* data);
ClientEventArgs(Object* data, EventReason type);
__property Object* get_Data();
__property void set_Data(Object* value);
__property EventReason get_Type();
__property void set_Type(EventReason value);
};
public __delegate void ClientEventHandler(Object* sender, ClientEventArgs* e);
[Serializable]
public __gc class ClientBase : public Vai::Core::IFacilityProvider
{
public:
__gc class ClientAsyncData
{
protected:
Object* _Data;
DateTime _TimeStamp;
Delegate* _Handler;
ClientBase* _Client;
public:
ClientAsyncData(ClientBase* client, ClientEventHandler* handler, Object* data);
__property Object* get_Data() {return _Data;}
__property DateTime get_TimeStamp() {return _TimeStamp;}
__property Delegate* get_Handler() {return _Handler;}
__property ClientBase* get_Client() {return _Client;}
};
protected:
long _ClientId;
String* _Url;
MWclient* _Handle;
IFormatter* _FormaterXML;
IFormatter* _FormaterBIN;
String* _Facility;
String* _FacilityTyp;
Object* _LockInstance;
ISynchronizeInvoke* _SynchronizingObject;
virtual ~ClientBase();
virtual bool Connect();
virtual void OnEvent(Object* sender, ClientEventArgs* e);
virtual __event ClientEventHandler* Start;
virtual __event ClientEventHandler* Stop;
virtual __event ClientEventHandler* Async;
virtual __event ClientEventHandler* Notify;
virtual __event ClientEventHandler* Error;
public:
ClientBase(String* facility, String *typ, IFormatter* formaterXml, IFormatter* formaterBin);
virtual bool Connect(String* url);
virtual bool Connect(String* url, bool doConnect);
virtual bool GetReflectionData ();
virtual bool Disconnect();
virtual Object* Call(String* functionName, int timeout, [ParamArrayAttribute] Object* parameters[], String **reconnect);
virtual Object* CallRawIn(String *rawXmlIn, int timeout);
virtual String* CallRawOut(String* functionName, int timeout, [ParamArrayAttribute] Object* parameters[]);
virtual String* CallRawInRawOut(String *rawXmlIn, int timeout);
virtual DateTime OidGetTime (String *oid);
virtual int OidGetType (String *oid);
virtual unsigned int OidGetDescriptor (String *oid);
virtual void CallAsync(String* functionName, Object* data, ClientEventHandler* async, [ParamArrayAttribute] Object* parameters[]);
virtual void CallAsync(String* functionName, ClientEventHandler* async, [ParamArrayAttribute] Object* parameters[]) {return CallAsync(functionName, 0, async, parameters);};
virtual bool RegisterEvent(int eventId, Object* data, ClientEventHandler* async);
virtual bool RegisterEvent(int eventId, ClientEventHandler* async);
virtual bool UnregisterEvent(int eventId);
virtual void DoEvent(Object* sender, ClientEventArgs* data);
__property bool get_IsConnected();
__property ISynchronizeInvoke* get_SynchronizingObject();
__property void set_SynchronizingObject(ISynchronizeInvoke* value);
__property String* get_Facility();
__property void set_Facility(String* value);
__property MWclient* get_Handle() {return _Handle;}
__property IFormatter* get_FormaterXML() {return _FormaterXML;}
__property IFormatter* get_FormaterBIN() {return _FormaterBIN;}
__property long get_ClientId() {return _ClientId;}
__property String* get_Url() {return _Url;}
static long _AsyncCounter = 0;
static Hashtable* _AsyncHandlers = new Hashtable();
static Hashtable* _NotifyHandlers = new Hashtable();
// private:
// CUnmanagedTestClass* m_pUnmanagedTestClass;
};
}}
}
#endif
проблема возникает при импорте в С#, вылазиет ошибка: Невозможно загрузить файл или сборку или один из зависимых от них компонентов.
Вообщем как мне все это импортировать в проекте C# (с управляемым кодом практически не работал)?
длл прекрасно работала в 2003 студии.
|
|