摘要:
SetItemData可以存放对象,存放对象的指针就行了,当然,你这个对象必需是new出来的,而不是栈中的对象;取出来的话你用强制转换就OK了;记住,存放进去的是对象的指针============================staff *obj=new staff;m_list.SetItemData(nIndex,(DWORD_PTR)obj);---------staff *get=(staff*)m_list.GetItemData(nIndex); 阅读全文
摘要:
问题: 迁移数据库时,如果表中存在LOB类型字段(BLOB、CLOB等),IMP时失败,提示表空间不存在。原因: 是LOB类型的数据全部存储在表空间中,表中只存放指针,即使在建表时没指定表空间,数据也全部存入该数据库默认表空间中。解决方法: 使用IMP导入数据库文件: 1.在被导入数据库中创建与原数据库名称相同表空间,修改默认表空间为此表空间。若在建表时指定了LOB字段表空间,则在被导入数据库中创建存放此LOB字段表空间。 2.若被导入数据库中强制指定其他表空间存储LOB字段,可在第一步导入数据后,执行空间迁移命令一定LOB数据到指定的表空间。 www.2cto.com 命令: alter.. 阅读全文
摘要:
[设置属性]首先用资源编辑器拖放一个ListCtrl控件到对话框中。设置属性。Always Show Selection: True // 即便失去焦点依然高亮选择SingleSelection: True // 只允许选中一行View: Report // 报表方式,较常用[初始化]// 在对话框的OnInitialDialog中初始化ListCtrl // 1. 设置样式m_ListCtrl.SetExtendedStyle( LVS_EX_FULLROWSELECT );// LVS_EX_FULLROWSELECT: 表示选中整行,而非某一列 // LVS_EX_GRIDLINES: 阅读全文
摘要:
1、宽字节就是不管英文还是汉字都是以2个字节(16位)存储,多字节集就是英文1个字节汉字两个字节存储(8位,16位)。2、sizeof(数据类型):sizeof(int)=4 sizeof(char)=1 sizeof(WXHAR)=2 sizeof(LPCSTR)=4 LPCSTR是长常量指针;char str[64];sizeof(str)=64sprintf_s(str,sizeof(str),"asdas汗");LPCSTR lP=(LPCSTR)str;strlen(lP)=7;//因为lP是个指针他指向str[0]的地址(首地址),strlen函数从str首地址 阅读全文
摘要:
第四章、给MDL应用添加命令您可能已经注意到了MicroStation中存在着许多键入命令。选菜单Utilities > Key-in可打开键入命令对话框,在这里可浏览并执行当前可用的所有键入命令,如下图所示。虽然该对话框中只列出了四栏,但实际上每个键入命令最多可由5个单词组成。这些键入命令有许多用途。比如在交互操作中可随时键入一个命令来实现操作的一个步骤,比如可以写一个由键入命令组成的脚本文件在MicroStation中直接执行,比如执行批处理功能时需要指定一个命令文件,再比如每个菜单项或工具栏中的每个图标工具,它们后台都关联着键入命令。可以这样说,键入命令是MicroStation图 阅读全文
摘要:
第三章、在Visual Studio环境中生成并调试MDL应用许多开发者多次问过我同样的一个问题:“如何在Visual Studio中直接生成程序?我不喜欢在那个黑窗口中键入bmake来生成。”这篇文章就带领您配置Visual Studio以达到这个目标。同时,还会演示如何在Visual Studio中调试我们的应用程序。1. 在Windows操作系统级定义环境变量MSV8i指向您MicroStation V8iSS3的安装路径。如下图所示:请注意,定义变量值时在路径最后加了一个路径分隔符。2. 在…\MicroStation\mdl\bin文件夹下创建一个批处理文件MakeMa.bat,其内 阅读全文
摘要:
第二章、在MDL应用中创建元素MicroStation有很多种类型的元素,我们可以将其分成图形元素和非图形元素。本章将讨论如何在MDL程序中创建图形元素。下表列出了MicroStation中支持的大多数图形元素:在写代码前还需要介绍三个重要的结构体:MSElement、MSElementDescr和EditElemHandle。前两个是C结构,最后一个是C++结构(C++的结构和类很相似)。当我们创建一个简单元素时,可以将其保存到MSElement结构中,这是一个具有固定大小(最大为128K字节)的结构。对于复杂元素,由于其大小无法事先确定,所以需要采用一个指针(即MSElementDescr 阅读全文
摘要:
第一章、建立一个最简单的MDL应用程序本章将带领您从零开始一步步建立一个最简单的Hello World本机代码MDL应用程序,该程序能够在Mstn中装载运行。 1、在任一驱动器上建立文件夹\MDLSource\HelloWorld,我是在D:上建立的; 2、启动一个文本编辑器(当然可以启动VS2005用作编辑器),在其中键入如下内容并保存为文件D:\MDLSource\HelloWorld\HelloWorld.cpp。该文件中含有程序的入口点函数MdlMain,当应用程序被装载后会从该入口点开始执行。我们在该函数中调用了MDL C API函数mdlDialog_dmsgsPrint用以弹出一 阅读全文
摘要:
本系列博客将由浅入深地帮助您学习MDL。按照本博客的步骤,相信您能很快地掌握这一开发MicroStation应用程序的最主要方法。本博客有中、英文两种版本,分别发布在中国BDN社区博客和Bentley Developer Netwrok社区博客。第零章、介绍与必备条件从MicroStation 4.0版开始就有MDL这一功能强大的开发手段了,那还要追溯到上世纪90年代初。那时的MDL是MicroStation Development Language(MicroStation开发语言)的简称,它是Bentley公司基于C语言的一种扩展语言,编译器和链接器均由Bentley公司提供。最终生成的程 阅读全文
摘要:
原因:是中文两个字节,英文单个字节。Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理像中文这样的双字节字符不方便,容易出现半个汉字的情况(也就是编译出错的原因)。而UNICODE是双字节方式,方便处理双字节字符。Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。_T一般同字常数相关,如_T("Hello")。如果你编译一个程序为ANSI方式,_T实际不起任何作用。而如果编译一个程序为UNICODE方式,则编译器会把"Hello"字符串以UNICODE 阅读全文