gaoan000 发表于 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函数过来又会提示已经定义
摸不着头脑了有遇到过的大神吗 如何解决的

h20040606 发表于 2016-1-5 19:38:09

在B中incl;ude "a.au3"
行不行

gaoan000 发表于 2016-1-5 19:44:06

回复 2# h20040606

已经在第二个文件中引用了
就一个函数调用不成功

绿色风 发表于 2016-1-5 21:10:58

建议上传你的那file1 2的文档上来

gaoan000 发表于 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
        EndIf
EndFunc这是文件1里的函数C

kadingxiaodi 发表于 2016-1-6 11:07:07

学习一下{:face (382):}

gaoan000 发表于 2016-1-6 15:06:26

解决了 重装了一次软件 ...唉
页: [1]
查看完整版本: [已解决]关于函数未定义的问题