找回密码
 加入
搜索
查看: 2706|回复: 6

[AU3基础] [已解决]关于函数未定义的问题

  [复制链接]
发表于 2016-1-5 19:27:27 | 显示全部楼层 |阅读模式
本帖最后由 gaoan000 于 2016-1-6 15:08 编辑

今天写了一个函数文件FILE1 里面有函数A(),B(),C()...
;-----------------------------------------------------------
file 1
func A().....
func B().....
func C().....

flle2
$a = A()  ;right
$b = B()  ; right
$c = C()    ; error:undefined function
;-----------------------------------------------------------
当调用此文件时候有点怪事 A可以用 B也可以 ,但是函数C提示是未定义函数
但是我把函数文件FILE1里的函数C复制过来又没问题
但是如果复制A函数过来又会提示已经定义  
摸不着头脑了  有遇到过的大神吗 如何解决的
发表于 2016-1-5 19:38:09 | 显示全部楼层
在B中incl;ude "a.au3"
行不行
 楼主| 发表于 2016-1-5 19:44:06 | 显示全部楼层
回复 2# h20040606

已经在第二个文件中引用了
就一个函数调用不成功
发表于 2016-1-5 21:10:58 | 显示全部楼层
建议上传你的那file1 2的文档上来
 楼主| 发表于 2016-1-6 09:29:26 | 显示全部楼层
回复 4# 绿色风
#PRE_UseX64=n
#PRE_Res_requestedExecutionLevel=None
#include <PassThruFunc.au3>

Local $CAN                        = 0X05
Local $CAN_ID_BOTH                                                 = 0X00000400

Local $id = 3
Local $result = PassThruOpen(Null, $id)
MsgBox(0, "222", $id)

Local $ChannelID
Local $baudrate = 9600
Local $connect = PassThruConnect($id, $CAN, $CAN_ID_BOTH, $baudrate, $ChannelID)
MsgBox(65536, "CHANid", $ChannelID)
这是文件2
;----------------------------------------------------------------------
Func PassThruConnect($DeviceId, $ProtocolID, $Flags, $BaudRate, ByRef $ChannelID)
        Local $_cChannelID = DllStructCreate("ulong")
        Local $pChannelID = DllStructGetPtr($_cChannelID)
        Local $ReConnect = DllCall($OpenDll, "int", "PassThruConnect", _
                                                                          "ulong", $DeviceId, _
                                                                          "ulong", $ProtocolID, _
                                                                          "ulong", $Flags, _
                                                                          "ulong", $BaudRate, _
                                                                          "ulong_ptr", $pChannelID)        
        If @error Then
                MsgBox(65536, "PassThruConnect", "Error Code :" & @error)
        Else
                $ChannelID = DllStructGetData($_cChannelID, 1)
                Return $ReConnect[0]
        EndIf
EndFunc
这是文件1里的函数C
发表于 2016-1-6 11:07:07 | 显示全部楼层
学习一下
 楼主| 发表于 2016-1-6 15:06:26 | 显示全部楼层
解决了 重装了一次软件 ...  唉
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-22 11:32 , Processed in 0.074172 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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