Sign in to follow this  
Followers 0
paullauze

ERROR: undefined macro. If @OSArch =

6 posts in this topic

i just got a new windows 7 64 bit machine at work. I get a error when complilling with #include <AD.au3>

 

excerpt from console:

xxxAuto ItIncludeAD.au3(423,15) : ERROR: undefined macro.
   If @OSArch =
   ~~~~~~~~~~~^
xxxAuto ItIncludeAD.au3(423,35) : ERROR: undefined macro.
   If @OSArch = "IA64" Or @OSArch =
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
xxxAuto ItIncludeAD.au3(1290,66) : ERROR: _ArrayToString() called with wrong number of args.
     $aAD_Objects[$iCount2][$iCount1 - 1] = _ArrayToString($aTemp)
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Program Files (x86)\AutoIt3\Include\Array.au3(808,87) : REF: definition of _ArrayToString().
Func _ArrayToString(Const ByRef $avArray, $sDelim, $iStart = Default, $iEnd = Default)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
xxxAuto ItIncludeAD.au3(1306,51) : ERROR: _ArrayToString() called with wrong number of args.
    $aAD_Objects[$iCount2] = _ArrayToString($aTemp)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^

 

even if all i am compiling is th eincludes

#include <Word.au3>
#include <Excel.au3>
#include <AD.au3>

 

it has always worked fine XP, so this must have something to do with window 7 or being 64 bit.

Share this post


Link to post
Share on other sites



SciTE Version 2.28

AutoIt v3.2.10.0, which dont seem right but that is what it says in the Help.

Share this post


Link to post
Share on other sites

The problem is caused by the old AutoIt version you are running.

With 3.3.0.0 "@ProcessorArch changed to @OSArch as it was misleading."

So with 3.2.10.0 you need to use @ProcessorArch


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

thanks, i just assumed that beacuse i downloaded a fresh copy of Autoit that it was the most recent. i must have grabbed the wrong one.

Share this post


Link to post
Share on other sites

and there were some .au3 's missing from the include folder. that should have been a clue!

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

  • Similar Content

    • Irios
      By Irios
      Searching and searching but I'm unable to find anyone with a proper solution. I see a lot of similar questions on this topic, but nothing that really provides what I'm looking for.
      Basically, I just want to convert a 8 byte hex value to unsigned integer. I.e. "FFFFFFFFFFFFFFFF". I'm working on SNMP opaque data types, and UINT64 values end up as signed INT64 when I use the internal processing of AutoIt. (Yeah, I know, this is because AutoIt always uses signed)
       
      Example ( I know you guys love example code snippets haha, so here's a two-liner):
       
      $sUINT64 = "FFFFFFFFFFFFFFFF" ConsoleWrite( Dec($sUINT64) ) -1 is not the result I want, of course.
       
      And I don't want "1.84467440737096e+019" either by adding manually in AutoIt. I need the decimal value (as a string) of 264 = 18,446,744,073,709,551,616
       
      Anyone got a clever UDF for this? Or will I have to write one myself, adding and multiplying each hex value, and generating a text string as a result? I know how it can be done, I just hoped someone already had done it so I could steal their code.
       
    • ColinRH
      By ColinRH
      I'm having a problem creating a 64 bit exe using Aut2Exe. I'm running on a Windows 7 64 bit PC and OS.
      If I compile my test script using a right click on the test script I can successfully create a 32 bit or a 64 bit exe. I can easily check this by looking at the properties of the exe, compatibility settings where, for the 64 bit exe compatibility settings "below" Vista are not available whereas, for the 32 bit exe they are.
      If I compile using Aut2Exe (running it from a non-compiled au3 script) then, using the method above, both the 32 bit and 64 bit builds appear to actually be 32 bit exes. The file, MakeTest.au3 is attached.

      MakeTest.au3

      If I try to do the same build using the command line input for Aut2Exe I can build the 32 bit version OK but the 64 bit build returns the error "Unable to read in AutoIt stub file. (AutoItSC.bin)". Surely it should be looking for AutItSC_x64.bin if I use the /x64 switch shouldn't it?

      If I try to run Aut2exe_x64 from the command line I get the "not recognised as an internal or external command" message.

      However, double clicking on Aut2exe_x64 and using the UI that's displayed I do get a 64 bit version built.

      I'm very confused - I really need to use a script to compile both 32 and 64 bit versions as the whole thing is part of an automatically built installation "application". Can anyone make sense of it for me or ami I just being stupid?
    • Aipion
      By Aipion
      This is a Wrapper for Pugixml, made with C++ by me and uses the version 1.2.

      Description
      pugixml is a light-weight C++ XML processing library. It consists of a DOM-like interface with rich traversal/modification capabilities, an extremely fast XML parser which constructs the DOM tree from an XML file/buffer. pugixml enables very fast, convenient and memory-efficient XML document processing. However, since pugixml has a DOM parser, it can't process XML documents that do not fit in memory; also the parser is a non-validating one, so if you need DTD or XML Schema validation, the library is not for you.


      License
      The Xml parser(Pugixml) is distributed under the MIT license:



      This means that you can freely use pugixml in your applications, both open-source and proprietary.

      Features
      Load/save XML files to an in-memory document object model (DOM). Add name/value attribtes to nodes. Numerous methods for iterating over the nodes in a document. Built in XPath. Full Unicode support. MsXml Independent. Has about 47 Functions.Works on: Microsoft Windows 2000, XP, Server 2003, Vista, 7, Server 2008. 32 bit



      ____________________________________________________________________________________________

      Not supported any more due the fact that I had a hard drive failure therefore lost the source code of the DLL.
      ____________________________________________________________________________________________

      Download Link
      AXml.zip
      Note: I have also included a 64bit DLL but as I don't have a 64bit computer it remains untested.