📄 asdkemployee.h
字号:
// (C) Copyright 2002-2005 by Autodesk, Inc.
//
// Permission to use, copy, modify, and distribute this software in
// object code form for any purpose and without fee is hereby granted,
// provided that the above copyright notice appears in all copies and
// that both that copyright notice and the limited warranty and
// restricted rights notice below appear in all supporting
// documentation.
//
// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
// UNINTERRUPTED OR ERROR FREE.
//
// Use, duplication, or disclosure by the U.S. Government is subject to
// restrictions set forth in FAR 52.227-19 (Commercial Computer
// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
// (Rights in Technical Data and Computer Software), as applicable.
//
//-----------------------------------------------------------------------------
//----- AsdkEmployee.h : Declaration of the AsdkEmployee
//-----------------------------------------------------------------------------
#pragma once
#ifdef EMPLOYEE_MODULE
#define DLLIMPEXP __declspec(dllexport)
#else
//----- Note: we don't use __declspec(dllimport) here, because of the
//----- "local vtable" problem with msvc. If you use __declspec(dllimport),
//----- then, when a client dll does a new on the class, the object's
//----- vtable pointer points to a vtable allocated in that client
//----- dll. If the client dll then passes the object to another dll,
//----- and the client dll is then unloaded, the vtable becomes invalid
//----- and any virtual calls on the object will access invalid memory.
//-----
//----- By not using __declspec(dllimport), we guarantee that the
//----- vtable is allocated in the server dll during the ctor and the
//----- client dll does not overwrite the vtable pointer after calling
//----- the ctor. And, since we expect the server dll to remain in
//----- memory indefinitely, there is no problem with vtables unexpectedly
//----- going away.
#define DLLIMPEXP
#endif
//-----------------------------------------------------------------------------
#include "dbelipse.h"
#define ASDKEMPLOYEE_DBXSERVICE "ASDKEMPLOYEE_DBXSERVICE"
//-----------------------------------------------------------------------------
class DLLIMPEXP AsdkEmployee : public AcDbEllipse {
public:
ACRX_DECLARE_MEMBERS(AsdkEmployee) ;
protected:
static Adesk::UInt32 kCurrentVersionNumber ;
public:
AsdkEmployee () ;
virtual ~AsdkEmployee () ;
//----- AcDbObject protocols
//- Dwg Filing protocol
virtual Acad::ErrorStatus dwgOutFields (AcDbDwgFiler *pFiler) const ;
virtual Acad::ErrorStatus dwgInFields (AcDbDwgFiler *pFiler) ;
//- Dxf Filing protocol
virtual Acad::ErrorStatus dxfOutFields (AcDbDxfFiler *pFiler) const ;
virtual Acad::ErrorStatus dxfInFields (AcDbDxfFiler *pFiler) ;
//----- AcDbEntity protocols
//- Graphics protocol
virtual Adesk::Boolean worldDraw (AcGiWorldDraw *mode) ;
private:
// 雇员的ID
Adesk::Int32 m_ID;
// 卧室号
Adesk::Int32 m_cube;
char* m_firstName;
char* m_lastName;
public:
Acad::ErrorStatus iD(Adesk::Int32& ID);
Acad::ErrorStatus setID(const Adesk::Int32 newVal);
Acad::ErrorStatus cube(Adesk::Int32& cube);
Acad::ErrorStatus setCube(const Adesk::Int32 newVal);
Acad::ErrorStatus firstName(char*& firstName);
Acad::ErrorStatus setFirstName(const char* newVal);
Acad::ErrorStatus lastName(char*& lastName);
Acad::ErrorStatus setLastName(const char* newVal);
} ;
#ifdef EMPLOYEE_MODULE
ACDB_REGISTER_OBJECT_ENTRY_AUTO(AsdkEmployee)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -