找回密码
 加入
搜索
查看: 3001|回复: 7

[AU3基础] 關於 #include-once 正確用法...我的測試方式怎麼都無法使#include-once 可以作用呢??

  [复制链接]
发表于 2010-5-31 09:20:05 | 显示全部楼层 |阅读模式
本帖最后由 kk_lee69 于 2010-5-31 15:38 编辑

我最近在測試 #include-once  這個功能.......

我的測試方法如下...........

第一個 檔案 1.AU3 裡面 定義了一個自訂函數  A123
第二個 檔案 2.AU3 裡面 也定義了一個自訂函數  A123

這兩個A123 內容都是一模一樣的

然後再 測試.AU3裡面....... 依照範例...... #Include <1.au3>  兩次
果然出現錯誤訊息......然後再加上  #include-once  後果然沒出現了.......

但是重點來了.....我加上了  #include-once  又加上#Include <1.au3> 跟 #Include <2.au3>

但是 程式依舊 出現了錯誤......一樣通知 有重複的函數名..........

這樣就使我有疑問了.............

#include-once   只是單指.............在 測試.AU3裡面  如果有重複的#Include 只要 #Include 一次就好

還是 應該是作用於 重複的函數名 只要一次就好(也就是說 不只侷限於單一個AU3檔)

如果是 只侷限於 單一個AU3檔.....這樣不就沒意義了.....會怕重複的函數名.....就是怕 這樣包含來包含去的.....在不同的AU3檔案裡面  可能包含相同的函數名........

是不是我的測試方法有問題............可不可以請高手幫幫忙.......釐清一下小弟這個觀念 ....謝謝

P.S 我手上的是 3.3.6.0 版的 英文版
发表于 2010-5-31 10:10:18 | 显示全部楼层
我也不知道
发表于 2010-5-31 10:42:59 | 显示全部楼层
如果你的某个AU3文件只允许被包含一次,那么就在这个文件的题头加入#include-once

例如你用x.au3去包含test.au3,且test.au3只允许被包含一次,那么需要在test.au3的题头加入#include-once
 楼主| 发表于 2010-5-31 15:37:32 | 显示全部楼层
回复 3# skyfree


    SKYFREE 你好  基本上這個說法  我聽的懂.....可是我昨天測試的時候  每個文件都加上了這個 還是不可以的......不知道是不是版本問題 還是怎樣的.....可以幫我測試看看你手上的版本有沒有這個問題嗎
 楼主| 发表于 2010-5-31 15:48:41 | 显示全部楼层
回复 3# skyfree


    目前測試的結果 好像變成是這樣的。。。。。。

在每個被加入的文件上 加入 #include-once

不管這個文件怎麼被加入的 即使被重複加入  也可以運作正常

但是。。。。不同檔名。。。。兩個都有 #include-once 。。。。

這樣好像就不可以了。。。。一模一樣的 內容  改成不一樣的檔名。。。同時被加入到某個AU3裡面  就會出錯了
发表于 2010-5-31 19:04:59 | 显示全部楼层
把代码放上来大家测试下
 楼主| 发表于 2010-5-31 22:36:49 | 显示全部楼层
本帖最后由 kk_lee69 于 2010-5-31 22:45 编辑

回复 6# autoit3CN
OK 我發個代碼  請大家幫忙測試看看結果是不是跟我一樣

1.AU3
#include-once

Func ABC()

Return MsgBox(0,"","BBB")

EndFunc
2.AU3
#include-once

Func ABC()

Return MsgBox(0,"","BBB")

EndFunc
測試部分如下時 正常執行...
測試.AU3
#include <1.au3>
#include <1.au3>

ABC()
但是測試 如果改為 下面的 就無法RUN 了
#include <1.au3>
#include <2.au3>

ABC()
即使  把測試改為 如下 也是不可以RUN 的
#include-once
#include <1.au3>
#include <2.au3>

ABC()
如果 取消 1.AU3 裡面的  #include-once
然後則測試不管有沒有 #include-once 只要你 #include <1.au3> 兩次 就不能RUN

會不會是 本來 #include-once  的用途跟意義 本來就是這樣 只是我們沒有了解清楚  擴大了它的解釋呢
 楼主| 发表于 2010-6-10 12:24:03 | 显示全部楼层
沉下去了....自己頂一下....希望可以獲的解決
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-21 11:20 , Processed in 0.083519 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表