维基百科说:“在Microsoft windows上,D可以访问COM(组件对象模型)代码。”
D中对COM有什么样的支持? 它是否比在C ++中使用COM更简单 我在D页上find了这个链接 ,但并没有告诉我太多。
使用IShelldispatch接口更改文件的详细信息选项卡(右键单击时)?
在windows任务计划程序中更改已经计划的任务的运行时间
我能压制这个消息吗? >>一个或多个应用程序正在使用iTunes脚本界面
VSS硬件提供商
如何为第三方定义的COM接口注册代理/存根?
Juno有一个新的版本.5.1,它有很多伟大的连接到Word,Excel,FrameMaker,Trados等的方法,所以它是可能的,也是容易的。 像这样的东西:
scope word = new dispatchObject("Word.Application"); scope wDocs = word.get("documents"); char[] dd = dir ~ r""; char[][] docs = GetfilesFromDir(dir ~ r"","*." ~ fromType,true); if (docs.length == 0) { info.text = "DID not find any " ~ std.string.toupper(fromType) ~ " files in the directory... nnExiting..."; return; } foreach(char[] d; docs) { scope wDoc = wDocs.call("Open",d);//"normal",false,0); char[] txt = std.path.getname(d); // original file IE. test if it was test.doc txt ~= ".doc"; if (std.file.exists(txt)) std.file.remove(txt); wDoc.call("SaveAs",txt,// filename 0,// fileFormat wdFormatDOC = 0 false,// LockComments "",// Password false,// AddToRecentfiles "",// WritePassword false,// ReadonlyRecommended false,// EmbedTrueTypeFonts false,// SaveNativePictureFormat false,// SaveFormsData false,// SaveAsAOCELetter 65001,// EnCoding 65001 is UTF8 false,// InsertlineBreaks false,// AllowSubstitutions 0 // lineEnding Const wdCRLF = 0 ); wDoc.call("Close"); } word.call("Quit");
由John Chapman编写的Juno lib包含COM支持模块。 不幸的是没有最新的编译器。
http://www.dsource.org/projects/juno/wiki/ComProgramming/“Juno COM”
应该是旁边的phobos的一部分。
对Hannes J.使用auto而不是delphi的var
//创建一个IXMLDOMdocument3的实例。
auto doc = DOMdocument60.coCreate!(IXMLDOMdocument3); 范围(退出)doc.Release();
//创建一个事件提供者实例。
auto events = new EventProvIDer!(XMLDOMdocumentEvents)(doc); 范围(退出)events.Release();
events.bind(“onReadyStateChange”,{writefln(“state changed”);}); events.bind(“onDataAvailable”,{writefln(“data available”);});
//告诉文档异步加载。
doc.put_async(com_true);
//加载XML文档。
com_bool结果; doc.load(“books.xml”.toVariant(true),result);
http://www.digitalmars.com/d/2.0/interface.HTML#com-interfaces
我知道这是一个地方,但我花了一段时间才找到它。 基本上D中的COM支持是接口之上的黑客攻击。 显然,编译器知道它们,并以几个小方法将它们视为“特殊”,所以一切正常。 顺便说一句,我以为COM死了。
总结以上是内存溢出为你收集整理的D支持COM全部内容,希望文章能够帮你解决D支持COM所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)