Sign in to follow this  
Followers 0
Archman

Duplicate Functions after reinstall of AutoIt

5 posts in this topic

I created a script a few months ago that was all working fine which uses included code's for time - graphics - memory that i got from the forums here. ( those script files are in the same directory as my script)

after formating and reinstalling AutoIt when i try to build the program now i get errors about duplicate functions.

It is like when i first made the code the #included code functions replaced the existing functions of the same names contained in the Include directory files but now they clash.

Im using the same version of AutoIt i used origionaly and the file locations are the same, as i backed up the directory my code is in.

Anyone have any idea how i can solve this problem? LOL thats if you understand the question as i may not have described it well muttley

Share this post


Link to post
Share on other sites



guess we are supposed to figure out what function names are duplicated by osmosis?

With out a script and/or exact errors it will be hard for anyone to help you.


SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Share this post


Link to post
Share on other sites

The first example that clashes.

My main code has

#include <GUIConstants.au3>
#include <mem.au3>
#include <array.au3>
#include <timer.au3>
#include <image.au3>

mem.au3

Func _MemRead($i_hProcess, $i_lpBaseAddress, $i_nSize, $v_lpNumberOfBytesRead = '')
    Local $v_Struct = DllStructCreate ('int[' & $i_nSize & ']')
    DllCall('kernel32.dll', 'int', 'ReadProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
    Local $v_Return = DllStructGetData ($v_Struct, 1)
    $v_Struct=0
    Return $v_Return
EndFunc;==> _MemRead()

Func _MemWrite($i_hProcess, $i_lpBaseAddress, $v_Inject, $i_nSize, $v_lpNumberOfBytesRead = '')
    Local $v_Struct = DllStructCreate ('byte[' & $i_nSize & ']')
    DllStructSetData ($v_Struct, 1, $v_Inject)
    $i_Call = DllCall('kernel32.dll', 'int', 'WriteProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
    $v_Struct=0
    Return $i_Call[0]
EndFunc;==> _MemWrite()

Func _MemOpen($i_dwDesiredAccess, $i_bInheritHandle, $i_dwProcessId)
    $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', $i_dwDesiredAccess, 'int', $i_bInheritHandle, 'int', $i_dwProcessId)
    If @error Then
        SetError(1)
        Return 0
    EndIf
    Return $ai_Handle[0]
EndFunc;==> _MemOpen()

Func _MemClose($i_hProcess)
    $av_CloseHandle = DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $i_hProcess)
    Return $av_CloseHandle[0]
EndFunc;==> _MemClose()

The Error

C:\Program Files\AutoIt3\Include\Memory.au3 (285) : ==> Duplicate function name.:

Func _MemRead(ByRef $tMemMap, $pSrce, $pDest, $iSize)

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????4

>Exit code: 1 Time: 0.822

so the mem.au3 code clashes with the Memory.au3 code but it didn't clash when i origionaly created the prog

Share this post


Link to post
Share on other sites

Looks like your using an old version AutoIt.

GuiConstants.au3 no longer includes all includes as it once did.

If you got the mem.au3 from the forum it could very well have the duplicate functions that are in Memory.au3.


SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Share this post


Link to post
Share on other sites

Looks like your using an old version AutoIt.

GuiConstants.au3 no longer includes all includes as it once did.

If you got the mem.au3 from the forum it could very well have the duplicate functions that are in Memory.au3.

Cheers :) i musn't have had the same version installed. Just downloaded AutoIt v3.2.12.1 and everything works again muttley

Once again Thank You.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0