<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>tuja</title>
    <description></description>
    <link>http://tuja.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>D里如何使用标准库未声明的win api函数</title>
        <author>tuja</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://tuja.javaeye.com">tuja</a>&nbsp;
          链接：<a href="http://tuja.javaeye.com/blog/76380" style="color:red;">http://tuja.javaeye.com/blog/76380</a>&nbsp;
          发表时间: 2007年04月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>在这里得到了大家的许多帮助，也来写点心得，希望对初者者有所帮助。</p>
<p>希望高手如（&nbsp;<a href="http://qiezi.javaeye.com/" style="COLOR: #fff">qiezi</a> <a href="http://ideage.javaeye.com/" style="COLOR: #fff">ideage</a> <a href="http://oldrev.javaeye.com/" style="COLOR: #fff">oldrev</a> ）不要见笑，一如既往地，满腔热情地帮助我们这些菜鸟成长:&gt;</p>
<p>windows api很多，windows.d里声明的很不全，如何使用自己想要的函数呢</p>
<p>以WinExec函数为例</p>
<p>1 搜索windows.d未找到WinExec</p>
<p>2 google搜索 <font face="Arial">intitle:winexec site:msdn.microsoft.com</font></p>
<p>找到函数原型</p>
<p><font face="Arial">http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_winexec.asp</font></p>
<p>3 全部代码如下：<font face="Arial"><br />
import std.c.windows.windows;<br />
extern (Windows)<br />
{<br />
&nbsp;export {<br />
&nbsp;&nbsp;UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow);&nbsp;<br />
&nbsp;}<br />
}<br />
void main()<br />
{<br />
&nbsp;WinExec(`C:\Program Files\Internet Explorer\iexplore.exe <a href="http://www.google.com`,SW_SHOWMAXIMIZED">http://www.google.com`,SW_SHOWMAXIMIZED</a>); <br />
}</font></p>
<p><font face="Arial">4 祝你好运<br />
</font></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://tuja.javaeye.com/blog/76380#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/115' target='_blank'><span style="color:red;font-weight:bold;">JavaEye图灵杯第2届问答大赛开始了！8月4日至8月17日，奖品丰厚！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 30 Apr 2007 20:04:12 +0800</pubDate>
        <link>http://tuja.javaeye.com/blog/76380</link>
        <guid>http://tuja.javaeye.com/blog/76380</guid>
      </item>
      <item>
        <title>D语言，想说爱你不容易</title>
        <author>tuja</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://tuja.javaeye.com">tuja</a>&nbsp;
          链接：<a href="http://tuja.javaeye.com/blog/75897" style="color:red;">http://tuja.javaeye.com/blog/75897</a>&nbsp;
          发表时间: 2007年04月28日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">D语言，想说爱你不容易</font></p>
<font face="Arial">
<p><br />
D语言设计思想本身很先进，我不否认。但是...</p>
<p>我想在一个GUI中嵌入IE，用来显示HTML,CSS，进行DOM操作。这在脚本语言中，只要类似下面一行代码就能创建一个IE实例：</p>
<p>CreateObject(&quot;InternetExplorer.Application&quot;)</p>
<p>但在D里却这么难。</p>
<p>1 首先我看到juno这个项目好像可以创建COM，可惜很长时间不更新了，已经不能通过新版DMD编译。。。<br />
&nbsp;&nbsp; http://www.dsource.org/projects/juno</p>
<p>2 qiezi大侠写过一篇文章&nbsp; D语言调用ActiveX（在窗口中嵌入ActiveX） <br />
&nbsp; http://www.cppblog.com/cpunion/archive/2005/11/11/1061.html<br />
&nbsp; http://qiezi.javaeye.com/blog/266811<br />
&nbsp; 但那是好久前，已经不能通过新版DMD编译。。郁闷中<br />
&nbsp; <br />
3 oldrev大侠发表了修改版 juno.com.base,看到一线曙光<br />
&nbsp; http://dlang.group.javaeye.com/group/blog/72602<br />
&nbsp; 刚接触D，要用oldrev大侠的成果来创建IE实例，不知何从着手。。。<br />
&nbsp; <br />
4 网上找com的文章，都是C++，C的实例，要是会C++多好，可是，如果我会C++，还用问这个问题吗<br />
&nbsp; 犹豫，是否先学C++，再学D,狂闷。。。<br />
&nbsp; <br />
5 圈子里高人很多，可是。。。</p>
<p><br />
6 上D官方新闻组，官方论坛去问。。。<br />
&nbsp;&nbsp; 好不容易，core32的作者jcc7给了个用oldrev修改版combase创建Microsoft Script Control，再用script脚本创建IE实例<br />
&nbsp;&nbsp; 如何嵌入GUI，如何得到IE句柄，如何控制页面元素。。。<br />
&nbsp;&nbsp; 用DMD1.013可以成功编译。离成功好像近了一步，路漫漫。。。&nbsp;&nbsp; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; jcc7给的代码见本文附件</p>
<p>7 现在初浅的了解：<br />
&nbsp;&nbsp; 要实现把IE嵌入GUI,有两种思路：&nbsp;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; 早期绑定，这个在D里实现很麻烦<br />
&nbsp;&nbsp; 晚期绑定，就象脚本语言里用的那样<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; qiezie说用IDispatch接口的方法效率比较低</p>
<p>&nbsp;&nbsp; 效率低点没有关系，谁能给个例子，用IDispatch接口实现创建IE实例？<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; 真的很希望得到你的帮助，没有C++基础学D这么难，创建嵌入GUI的IE竟然这么难以实现。<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; D语言出现已经多年了，我知道不是D语言本身的问题，那么...</p>
<p>&nbsp;&nbsp;&nbsp;第一次用D写程序就被卡住了。。。<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp; D，想说爱你不容易！<br />
&nbsp;&nbsp; </p>
<p>&nbsp; 20070429tuja补充：<br />
真的非常感谢qiezi，在百忙之中，抽出宝贵个人时间，修改了core32，使之能够通过dmd1.013的编译!! <br />
<br />
我按照下面的方法，已经成功编译了你修改的core32 <br />
<a href="http://dsource.org/projects/core32" target="blank">http://dsource.org/projects/core32</a> </p>
<p>1 Unzip ZIP in \dmd\src\core32 <br />
2 Open command prompt (cmd.exe=DOX Box). <br />
3 Type PATH \dmd\bin;%PATH% <br />
4 CD to the core32\win32 directory. <br />
5 Exeute makelib.bat <br />
6 Copy make32.lib to \dmd\lib directory. This directory is alread in compilers search path. <br />
7 CD to \dmd\bin <br />
8 Open sc.ini <br />
Add &quot;%@P%\..\src\core32&quot; to compiler include search path</p>
<p>然后用qiezi提供的编译参数： <br />
dmd ie.d -I..\core32 activex.d ..\core32\win32\win32.lib <br />
编译了ie.d，可以成功启动IE。</p>
<p>我的目的是，把IE嵌入GUI，进行DOM操作。<br />
不知道 AXO ie = new AXO(&quot;InternetExplorer.Application&quot;);得到的ie，怎么得到它的句柄，然后在DFL创建的窗体中，就可以SetParent() 到 Form.handle从而实现嵌入GUI了。</p>
<p>非常感谢qiezi及各位的指教。</p>
<p>&nbsp;</p>
<p><br />
&nbsp;&nbsp; </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</font>&nbsp;
          <br/>
          <span style="color:red;">
            <a href="http://tuja.javaeye.com/blog/75897#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/115' target='_blank'><span style="color:red;font-weight:bold;">JavaEye图灵杯第2届问答大赛开始了！8月4日至8月17日，奖品丰厚！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 28 Apr 2007 16:06:28 +0800</pubDate>
        <link>http://tuja.javaeye.com/blog/75897</link>
        <guid>http://tuja.javaeye.com/blog/75897</guid>
      </item>
      <item>
        <title>Scite一键帮助for D</title>
        <author>tuja</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://tuja.javaeye.com">tuja</a>&nbsp;
          链接：<a href="http://tuja.javaeye.com/blog/73183" style="color:red;">http://tuja.javaeye.com/blog/73183</a>&nbsp;
          发表时间: 2007年04月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font face="Arial">
<p><br />
Scite一键帮助for D</p>
<p>配置好后，在写代码时，一按F1就打开对应的帮助文档，非常适合边学习边写代码。</p>
<p>先下载chm帮助文件：<br />
&nbsp;http://thecybershadow.net/d/docs/d.chm<br />
&nbsp;<br />
用在线代理网址下载。<br />
&nbsp;<br />
SciTe配置D语言一键帮助</p>
<p>&nbsp;把下载下来的帮助文件命名为d1011.chm，保存到..d\tools\d1011.chm<br />
&nbsp;1011是DMD的版本号。<br />
&nbsp;<br />
&nbsp;在d.properties中加上：</p>
<p><br />
cpp 代码<br />
# Commands to for Help F1&nbsp;&nbsp; <br />
command.help.$(file.patterns.d)=$(CurrentWord)!$(ddir)\tools\d1011.chm&nbsp;&nbsp; <br />
command.help.subsystem.$(file.patterns.d)=4&nbsp; </p>
<p>其中ddir是你的D安装目录，你可以改成直接路径</p>
<p>&nbsp;</p>
<p>D圈子中有1.009版的也可以下载，不过我喜欢用最新版的。<br />
</p>
</font>
          <br/>
          <span style="color:red;">
            <a href="http://tuja.javaeye.com/blog/73183#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/115' target='_blank'><span style="color:red;font-weight:bold;">JavaEye图灵杯第2届问答大赛开始了！8月4日至8月17日，奖品丰厚！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 22 Apr 2007 12:27:07 +0800</pubDate>
        <link>http://tuja.javaeye.com/blog/73183</link>
        <guid>http://tuja.javaeye.com/blog/73183</guid>
      </item>
  </channel>
</rss>