|
本帖最后由 newuser 于 2010-3-24 16:46 编辑
以下代码是在AutoIt帮助文件中的例子:
;;; 下面是脚本 LIBRARY.AU3 的代码 ;;;
#include-once
Func myFunc()
MsgBox(0,"", "此对话框由 library.au3 内的函数调出")
EndFunc
;;; 下面是脚本 SCRIPT.AU3 的代码 ;;;
#include "Library.au3"
#include "Library.au3" ;若LIBRARY.AU3为使用 #include-once指令则会抛出一个错误
MsgBox(0, "示例", "此对话框从 script.au3 中调出")
myFunc()
Exit
; 运行 script.au3 将会输出以下两个消息框:
; 第一个是“此对话框从 script.au3 中调出”
; 第二个是“此对话框由 library.au3 内的函数调出”
1.我的第一个问题是执行script.au3时,2个#include "Library.au3"都执行了吧?只不过library.au3没有执行任何操作!但将library.au3改成如下:
#include-once
MsgBox(0,"", "此对话框由 library.au3 内的函数调出")
Func myFunc()
MsgBox(0,"", "此对话框由 library.au3 内的函数调出")
EndFunc
那么执行script.au3,显示3个消息框:
"此对话框由 library.au3 内的函数调出"
"此对话框从 script.au3 中调出"
"此对话框由 library.au3 内的函数调出"
为什么在script.au3中,虽然使用了2个#include "Library.au3",但只执行了1次呢?
2.第2个问题,如果我将script.au3改成如下:
;;; 下面是脚本 SCRIPT.AU3 的代码 ;;;
#include "timetest.au3"
MsgBox(0, "示例", "此对话框从 timetest2.au3 中调出")
#include "timetest.au3" ;若LIBRARY.AU3为使用 #include-once指令则会抛出一个错误
myFunc()
Exit
; 运行 script.au3 将会输出以下两个消息框:
; 第一个是“此对话框从 script.au3 中调出”
; 第二个是“此对话框由 library.au3 内的函数调出”,
此刻执行script.au3显示:
"此对话框由 library.au3 内的函数调出"
"此对话框从 script.au3 中调出"
"此对话框由 library.au3 内的函数调出"
那么最后一个消息框的显示"此对话框由 library.au3 内的函数调出"是第2个#include "Library.au3"执行的效果还是myFunc()的作用呢?
最后,我汇总问的是是不是在Library.au3中使用了#include-once,那么无论在script.au3中使用了多少个#include "Library.au3",都只是第一个#include "Library.au3" 执行,其它的都不执行啊?那么在script.au3中多次使用#include "Library.au3"又有什么意义呢?难道只是为了说明#include-once的作用吗?可是总觉的不应该呀!
我现在处于糊涂状态,请大家不要见怪,请大家多多帮助让我清楚这个问题,谢谢,等待中... |
评分
-
查看全部评分
|