Вот, имеется логическая энтитя, logic_keypad(Серверная часть) - class CLogicKeypad : public CLogicalEntity
Также собственно эта ентитя по аутпуту должна включить Hud(клиентская часть) из class CHudKeypad : public CHudElement, public Panel , так вот, я понял что это можно сделать через DataTable(DT), как?
Из последнего линка можно узнать, что DT используются сугубо для синхронизации объектов. Т.е. существует копия объекта на сервере и на клиенте, и когда на сервере изменяется какой-либо объект, то все изменения должны бвть применены и к копии этого объетка на клиенте. Так вот DT - это список тех данных, которыми должна обновится клиентская копия серверного объекта. Посему через DT можно связывать только одинаковые объекты.
Я уже туплю, точно. Пробую отрубить дефолтные либы, вылетает.
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>MyTxtMessage.obj : error LNK2001: unresolved external symbol "public: virtual class ServerClass * __thiscall CMyTxtMessage::GetServerClass(void)" (?GetServerClass@CMyTxtMessage@@UAEPAVServerClass@@XZ)
1>MyTxtMessage.obj : error LNK2001: unresolved external symbol "public: virtual char const * __thiscall CMyTxtMessage::GetClassName(void)" (?GetClassName@CMyTxtMessage@@UAEPBDXZ)
1>MyTxtMessage.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall CMyTxtMessage::YouForgotToImplementOrDeclareServerClass(void)" (?YouForgotToImplementOrDeclareServerClass@CMyTxtMessage@@UAEHXZ)
Скажу попозже, к сожалению сейчас не дома, собсно исходников тоже нет, если ты на это намекаешь : YouForgotToImplementOrDeclareServerClass то это команда, она где-то в исходниках оглашается.
Ну ты же не думаешь что она просто так написана? Это специалные методы оповещения об ошибках на этапе компиляции. Это сделано для того, чтобы пояснить почему вылезло столько "unresolved external symbol".
Оригинальное сообщение от KLIMaka Ну ты же не думаешь что она просто так написана? Это специалные методы оповещения об ошибках на этапе компиляции. Это сделано для того, чтобы пояснить почему вылезло столько "unresolved external symbol".
Да, действительно, кстати перепутал, не команда а переменная.
Это не команда (кстати такого термина в с++ нет) и не переменная, а метод класса. Он нужен всего-лишь для того, чтобы DECLARE_SERVERCLASS() и IMPLEMENT_SERVERCLASS_INTERNAL( DLLClassName, sendTable ) использовались совмесно ибо отсутствие одного из этих макросов обосзначает, что сделано что-то нетак о чем сторочка
1>MyTxtMessage.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall CMyTxtMessage::YouForgotToImplementOrDeclareServerClass(void)" (?YouForgotToImplementOrDeclareServerClass@CMyTxtMessage@@UAEHXZ)