用msxml.dll的时候,发现在windows 7下编译不通过。
问题语句是:
// import MSXML
#import <msxml.xml>
原因是在windows 7下没有msxml.dll文件。
一种方式是到xp下把msxml拷贝到windows7下进行注册。
第二种方式就是定义宏来分别引用:
#if (_WIN32_WINNT >= 0x0600) //if vista
#import "msxml6.dll"
#else //if xp
#import "msxml.dll"
#endif
以上两种方式没试过。
另外一种方式就是把import <msxml.dll> 改成
#import <msxml.tlb>
这样,编译器会自动去找msxml对应的com信息。
#import 指令(vc++) 写道
#import 指令
1. C++中使用 COM 簡單的方法是用 #import 導入 type library
2. # import 指令將 COM 產生對應的 C++類別,可以用接近於VBScript和Visual Basic的語句操作 COM
3. 使用 #import 命令就可以將該文件導入到我們的程式碼中。type library 的內容將被轉換為描述了 COM Interface 的 COM smart pointer
4. 語法
#import "filename" [attributes]
#import <filename> [attributes]
attributes:
用來通知編譯器修改 type library header 的內文。可以使用空白或逗號分隔 attribute。該選項為選擇性。
参考网站:
解决msxml.dll的钱两种方式:
http://blog.163.com/caty_nuaa/blog/static/903907201031253936554/
tlb的解决方案:
http://hi.baidu.com/icyday315/blog/item/56812314ee97a103962b43dc.html
分享到:
相关推荐
delphi7编译慢 或linking阶段会出错 经常会出现内存泄漏或不足 或RLink32.DLL访问出错 直接把bolndmm.dll与rlink32.dll拷贝至delphi7下的bin目录中可以调试了 按网友的说法 新版的内存管理器或连接器 bolndmm.dll...
`IVIEWERS.DLL`可能提供了一些接口,使得`OLEVIEW`能够以友好的方式显示和交互tlb文件的内容,比如以树状结构展示接口和类,或者以文本形式显示接口方法和属性的详细信息。 使用`OLEVIEW`来查看`tlb`文件的具体步骤...
* 包含type library信息的DLL文件:#import "mydll.dll" * 内含type library的文件:#import "myfile.tlb" 如果filename是一个物理文件,将根据以下规则进行搜索: 1. #import 指令指定的路径 2. 引用该文件的程序...
使用cmd进入以下路径调用RegAsm.exe使用以下的命令 \Microsoft.NET\Framework\v4.0.30319 下面的命令将注册 myTest.dll 中包含的所有公共类。 regasm myTest.dll ...regasm DLL的路径 /tlb:DLL的名字.tlb
TLB注册工具TLB注册工具 TLB注册工具 TLB注册工具
TLB和Cache作为硬件块,提升了对主内存中数据和指令的访问速度。然而,在进程A切换到进程B时,如果TLB中还保留着进程A的数据,就可能干扰进程B的地址翻译。因此,进程切换时需要执行TLB操作,清除旧进程的影响,以...
1.进入C:\Program Files\Common Files\Autodesk Shared,找到AcAuthEntities19chs.tlb和axdb19chs.tlb这两个文件,后面的19对应各自版本,我自己的是2014。2.复制上述的两个文件到AutoCAD的安装路径里(一般是C:\...
regasm YourCSharpDll.dll /tlb:YourCSharpDll.tlb ``` 3. **VB6引用TLB文件**: 在VB6环境中,我们需要添加对生成的TLB文件的引用。在“工程”菜单中选择“引用”,然后浏览并添加刚刚生成的`.tlb`文件。这使得...
3. **编译 C# DLL**:编译 `ClassLibrary1` 项目生成 `.dll` 文件。 4. **注册 DLL**:使用 `regasm` 命令来注册该 DLL 文件。这一步对于让 Delphi 访问该 DLL 是必需的。 ```plaintext 打开命令提示符,切换到...
你需要确保`csc.exe`的路径已添加到系统环境变量PATH中,然后在命令行中导航到源代码所在的目录,使用如下命令编译为DLL: ```bash csc /target:library /out:myFirstDll.DLL MathAdd.cs MathMinus.cs ``` 这将...
在IT行业中,ActiveX DLL是动态链接库的一种特殊形式,主要在Microsoft的Windows环境中使用,为应用程序提供可重用的代码和数据。ActiveX DLL通常包含一组函数或控件,这些函数或控件可以通过COM(组件对象模型)...
DLL包含了实际的函数代码,而TLB文件则存储了组件的接口定义,包括方法、属性和事件,使得其他程序能够理解并调用这些组件。 标题中的".TLB格式查看器注册工具"是一款专为COM组件开发者设计的实用工具,它简化了TLB...
"SpeechLib_TLB.zip_SpeechLib_SpeechLib_TLB_delphi SAPI_in"这一标题揭示了我们将讨论的重点:通过`SpeechLib`库和类型库(TLB)在Delphi中进行SAPI接口的集成。 SAPI是Microsoft提供的一种接口,允许开发者创建...
修复如下两个错误: ①ACCESS 数据库或项目包含一个对文件“dao360.dll”版本5.0的丢失的或损坏的引用... ②数据库项目包含一个对文件"msado21.tlb"版本2.1.的丢失的或损坏的引用...
1. **DLL(Dynamic Link Library)**:DLL是Windows操作系统中的一种共享库机制,它包含可由多个程序同时使用的代码和数据。VBdll就是一个包含了VB编写的函数和过程的DLL文件。 2. **导出函数**:在VBdll中,我们...
7. **更新操作系统和Office**:确保Windows和Office都已安装了最新的更新和补丁,这有可能解决由于兼容性问题导致的stdole32.tlb缺失问题。 在提供的压缩包文件中,“解决stdole32.reg”文件可能是用来修复与stdole...
tlbexp TestClass.dll /out:TestClass.tlb ``` #### 三、在Delphi中使用.NET DLL组件 完成了.NET DLL组件的创建和注册之后,我们就可以在Delphi项目中导入并使用这个DLL组件了。 1. **导入类型库**: - 在...
示例代码中使用了 `importlib("stdole2.tlb")` 导入了 `stdole2.tlb` 类型库,该类型库包含了 Windows 平台上常用的一些控件和功能。 #### 3.2 导入 DLL 中的 API 除了导入标准库之外,还需要显式声明需要调用的 ...
- **编译项目:** 编译项目后,在`\bin\Debug`目录下生成`COMTest.dll`和`COMTest.tlb`文件。 **2. C++再封装:** - **创建C++ DLL项目:** 使用Visual Studio创建一个C++ DLL项目,命名为`COMTest_Bridge`。 - ...
标签中的“DllRegisterServer”和“DllUnregisterServer”是关键API函数,它们定义在`stdole.tlb`中,是OLE/COM接口的一部分。`DllRegisterServer`函数用于将DLL的相关信息写入系统注册表,使得其他应用程序可以发现...