P Paladin_yf Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #1 我想观察delphi的应用程序框架的执行过程,从如何创建窗口,注册窗口类开始<br>该如何操作呢,我对delphi调试器不太熟,请各位大侠指点一下
J joshua_jia Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #2 按F8鍵就可以呀,每一步的執行動作都很清楚的
C chenhaobo Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #3 建议弄本最基础的delphi书看看!<br>这是最简单的问题了,以后你的问题多着呢,还是节省分数吧
A app2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #4 因该按F7,就是一步步执行代码了,但是这样恐怕你会头晕,按F8,虽然也是一步步执行代码,但它不会进入函数或过程的内部去单步执行,你最好先找到你想要了解的那一段代码,然后设一个断点(就是用点鼠标左键在IDE 编辑环境中的左边的,然后出些一个红点,和那一段代码被红色反选),然后按F9直接运行到那,然后你就可以按F7或F8一步步运行下去,同时你可以点出view--->Debug windows--->Local variables的窗体来查看你设置断点处所有局部变量的值(当然你也可以用鼠标移到那里就可以用弹出的HINT来查看)。
因该按F7,就是一步步执行代码了,但是这样恐怕你会头晕,按F8,虽然也是一步步执行代码,但它不会进入函数或过程的内部去单步执行,你最好先找到你想要了解的那一段代码,然后设一个断点(就是用点鼠标左键在IDE 编辑环境中的左边的,然后出些一个红点,和那一段代码被红色反选),然后按F9直接运行到那,然后你就可以按F7或F8一步步运行下去,同时你可以点出view--->Debug windows--->Local variables的窗体来查看你设置断点处所有局部变量的值(当然你也可以用鼠标移到那里就可以用弹出的HINT来查看)。
P Paladin_yf Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #5 我举个例子先<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> b : TButton;<br>begin<br> b := TButton.Create(self);//我在此处设置断点,想进入查看vcl的源代码,F7和F8好像也进不去,<br><br>直接就跳到下一步了<br> b.Parent := self;<br>end;<br>我想观看运行时的流程,而不是用Ctrl+左键进入查看,该怎么办呢?
我举个例子先<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> b : TButton;<br>begin<br> b := TButton.Create(self);//我在此处设置断点,想进入查看vcl的源代码,F7和F8好像也进不去,<br><br>直接就跳到下一步了<br> b.Parent := self;<br>end;<br>我想观看运行时的流程,而不是用Ctrl+左键进入查看,该怎么办呢?
放 放飞 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #6 需要通过 Project->Options... 菜单打开 Project Obtions ,其中的 Compiler 页中选中 Debugging 中的 Use Debug DCUs<br>然后用F7就可以跟进去
需要通过 Project->Options... 菜单打开 Project Obtions ,其中的 Compiler 页中选中 Debugging 中的 Use Debug DCUs<br>然后用F7就可以跟进去
P Paladin_yf Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #7 To:放飞<br> 谢谢了,正是我想要的。想再问一下调用API函数CreateWindow创建窗口时是在哪里调用的呢?找了半天没找着
放 放飞 Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #8 CreateWindows 在Forms单元中 procedure TApplication.CreateHandle; 调用的,<br>CreateWindowEx 在Forms单元中 procedure TCustomForm.CreateWnd; 中调用的<br>
CreateWindows 在Forms单元中 procedure TApplication.CreateHandle; 调用的,<br>CreateWindowEx 在Forms单元中 procedure TCustomForm.CreateWnd; 中调用的<br>
P Paladin_yf Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #9 To:放飞<br> 谢了,兄台对delphi很熟,有空一起研究研究。我现在用VC,很久没用delphi了<br>我的email:yangfanyyyf@263.net
P Paladin_yf Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-09 #10 楼上的几位兄台,能帮我看看我的以前的一个问题吗?这么久了还没有答案<br>http://www.delphibbs.com/delphibbs/dispq.asp?lid=2051110
P Paladin_yf Unregistered / Unconfirmed GUEST, unregistred user! 2003-10-10 #11 贴图控件我也写过,感觉太麻烦了,每用一个都得自己写,写完后还得重新编辑界面替换以前的控件。想EasySkin这样的组件,只要加载一下,所有你以前编好的界面都变了,而只需两三行初始化代码,不用再修改编辑自己的资源。这是多么一劳永逸的方法啊,我想它是不是用钩子替换了绘图方法还是用了其他更好的方法
贴图控件我也写过,感觉太麻烦了,每用一个都得自己写,写完后还得重新编辑界面替换以前的控件。想EasySkin这样的组件,只要加载一下,所有你以前编好的界面都变了,而只需两三行初始化代码,不用再修改编辑自己的资源。这是多么一劳永逸的方法啊,我想它是不是用钩子替换了绘图方法还是用了其他更好的方法