Jump to content

Autoit not catching COM events


uncommon
 Share

Recommended Posts

My objective was to translate to VBScript into an au3 file so I can code in autoit. I have most of it done however There seems to be certain COM events that autoit does not seem to catch. Mostly the session_SessionStatusChanged and session_SessionStatusLoginError that do not seem to work.

When I run it in VBScript it works fine.

Any ideas on what I might be doing wrong? I also attached the VBS file I was copying from.

 

;~ 'SessionStatusCode enum
Const $SessionStatusCode_Disconnected = 0
Const $SessionStatusCode_Connecting = 1
Const $SessionStatusCode_TradingSessionRequested = 2
Const $SessionStatusCode_Connected = 3
Const $SessionStatusCode_Disconnecting = 5
Const $SessionStatusCode_SessionLost = 6
Const $SessionStatusCode_PriceSessionReconnecting = 7
Const $SessionStatusCode_Unknown = 8

$username = ""
$password = ""

If $username = "" Or $password = "" Then
    MsgBox(16, "Error", "Please provide username and password to the appropriate variables")
    Exit
EndIf

$LastStatus = ""
$LastError = ""

MsgBox(0, "", "Login and logout")

$core = ObjCreate("fxcore2.com.Transport")

$session = $core.createSession()
$Event = ObjEvent($session, "session_")

MsgBox(0, "", "Log in...")
$session.login($username, $password, "http://www.fxcorporate.com/Hosts.jsp", "Demo")

While $LastStatus <> $SessionStatusCode_Connected And $LastError = ""
    Sleep(50)
WEnd

MsgBox(0, "", "Log out...")
$session.logout
While $LastStatus <> $SessionStatusCode_Disconnected
    Sleep(50)
WEnd

MsgBox(0, "", "Session status:" & GetStatusName($LastStatus))

$session = ""

MsgBox(0, "", "Done !")

Func session_SessionStatusChanged($status)
    MsgBox(0, "", "Status changed: " & GetStatusName($status))
    $LastStatus = $status
EndFunc   ;==>session_SessionStatusChanged

Func session_SessionStatusLoginError($err)
    MsgBox(16, "Error", "Error occured: " & $err)
    $LastError = "err"
EndFunc   ;==>session_SessionStatusLoginError

Func GetStatusName($status)
    Switch $status
        Case $SessionStatusCode_Connected
            $varGetStatusName = "connected"
        Case $SessionStatusCode_Disconnected
            $varGetStatusName = "disconnected"
        Case $SessionStatusCode_Connecting
            $varGetStatusName = "connecting"
        Case $SessionStatusCode_TradingSessionRequested
            $varGetStatusName = "trading session requested"
        Case $SessionStatusCode_Disconnecting
            $varGetStatusName = "disconnecting"
        Case $SessionStatusCode_SessionLost
            $varGetStatusName = "session lost"
        Case $SessionStatusCode_PriceSessionReconnecting
            $varGetStatusName = "price session reconnecting"
        Case $SessionStatusCode_Unknown
            $varGetStatusName = "unknown"
        Case Else
            $varGetStatusName = $status
    EndSwitch
    Return $varGetStatusName
EndFunc   ;==>GetStatusName

 

login.vbs

No problem can withstand the assault of sustained thinking.Voltaire

_Array2HTMLTable()_IEClassNameGetCollection()_IEquerySelectorAll()

Link to comment
Share on other sites

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

Did you run this:

"c:\Program Files (x86)\Candleworks\ForexConnectAPI\bin-com\registerCom.bat" 

 

as ADMIN ? (you must use RightMouseButton and choose "Run as Administrator"

??

 

 

 

BTW:

this forum section is "Support for the ActiveX and DLL versions of AutoIt.
This mean how to use AutoIt inside C# or C++ or in any other dev.env.

Not for "Any third party ActiveX component which can be used in AutoIt"

 

Edited by mLipok

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

​HAHA yeah you found it. :P

 

Did you run this:

"c:\Program Files (x86)\Candleworks\ForexConnectAPI\bin-com\registerCom.bat" 

as ADMIN ? (you must use RightMouseButton and choose "Run as Administrator"

??

BTW:

this forum section is "Support for the ActiveX and DLL versions of AutoIt.
This mean how to use AutoIt inside C# or C++ or in any other dev.env.

Not for "Any third party ActiveX component which can be used in AutoIt"

 

​Well I will try running that bat file as admin when I get home and let you know.

Next time I will post this under general support.

Out of curiosity, were you able to catch the events coming out of those 2 functions? I find it strange that the VBS file works perfectly fine but not with autoit. I tried 64 and 32 mode.

No problem can withstand the assault of sustained thinking.Voltaire

_Array2HTMLTable()_IEClassNameGetCollection()_IEquerySelectorAll()

Link to comment
Share on other sites

;~ 'SessionStatusCode enum
Const $SessionStatusCode_Disconnected = 0
Const $SessionStatusCode_Connecting = 1
Const $SessionStatusCode_TradingSessionRequested = 2
Const $SessionStatusCode_Connected = 3
Const $SessionStatusCode_Disconnecting = 5
Const $SessionStatusCode_SessionLost = 6
Const $SessionStatusCode_PriceSessionReconnecting = 7
Const $SessionStatusCode_Unknown = 8

$username = ""
$password = ""


#cs
If $username = "" Or $password = "" Then
    MsgBox(16, "Error", "Please provide username and password to the appropriate variables")
    Exit
EndIf

#CE

$LastStatus = ""
$LastError = ""
Local $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc")

MsgBox(0, "", "Login and logout")


$core = ObjCreate("fxcore2.com.Transport")

$session = $core.createSession()
$Event = ObjEvent($session, "session_")

MsgBox(0, "", "Log in...")
$session.login($username, $password, "http://www.fxcorporate.com/Hosts.jsp", "Demo")

While $LastStatus <> $SessionStatusCode_Connected And $LastError = ""
    Sleep(50)
WEnd

MsgBox(0, "", "Log out...")
$session.logout
While $LastStatus <> $SessionStatusCode_Disconnected
    Sleep(50)
WEnd

MsgBox(0, "", "Session status:" & GetStatusName($LastStatus))

$session = ""

MsgBox(0, "", "Done !")

Func session_SessionStatusChanged($status)
    MsgBox(0, "", "Status changed: " & GetStatusName($status))
    $LastStatus = $status
EndFunc   ;==>session_SessionStatusChanged

Func session_SessionStatusLoginError($err)
    MsgBox(16, "Error", "Error occured: " & $err)
    $LastError = "err"
EndFunc   ;==>session_SessionStatusLoginError

Func session_LoginFailed($err)
    MsgBox(16, "Error", "Error occured: " & $err)
    $LastError = "err"
EndFunc   ;==>session_SessionStatusLoginError

Func GetStatusName($status)
    Switch $status
        Case $SessionStatusCode_Connected
            $varGetStatusName = "connected"
        Case $SessionStatusCode_Disconnected
            $varGetStatusName = "disconnected"
        Case $SessionStatusCode_Connecting
            $varGetStatusName = "connecting"
        Case $SessionStatusCode_TradingSessionRequested
            $varGetStatusName = "trading session requested"
        Case $SessionStatusCode_Disconnecting
            $varGetStatusName = "disconnecting"
        Case $SessionStatusCode_SessionLost
            $varGetStatusName = "session lost"
        Case $SessionStatusCode_PriceSessionReconnecting
            $varGetStatusName = "price session reconnecting"
        Case $SessionStatusCode_Unknown
            $varGetStatusName = "unknown"
        Case Else
            $varGetStatusName = $status
    EndSwitch
    Return $varGetStatusName
EndFunc   ;==>GetStatusName

; User's COM error function. Will be called if COM error occurs
Func _ErrFunc($oError)
    ; Do anything here.
    ConsoleWrite(@ScriptName & " (" & $oError.scriptline & ") : ==> COM Error intercepted !" & @CRLF & _
            @TAB & "err.number is: " & @TAB & @TAB & "0x" & Hex($oError.number) & @CRLF & _
            @TAB & "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
            @TAB & "err.description is: " & @TAB & $oError.description & @CRLF & _
            @TAB & "err.source is: " & @TAB & @TAB & $oError.source & @CRLF & _
            @TAB & "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
            @TAB & "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
            @TAB & "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
            @TAB & "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
            @TAB & "err.retcode is: " & @TAB & "0x" & Hex($oError.retcode) & @CRLF & @CRLF)
EndFunc   ;==>_ErrFunc

.............................................................

>Running:(3.3.10.2):C:\Program Files (x86)\AutoIt3\autoit3.exe "C:\Users\user\Downloads\fxcore2.com.Transport.au3"    
--> Press Ctrl+F11 to Restart or Ctrl+Break -or- F11 to Stop
fxcore2.com.Transport.au3 (34) : ==> COM Error intercepted !
    err.number is:         0x80028017
    err.windescription:    Nazwa pola nie jest zdefiniowana w rekordzie.

    err.description is:     
    err.source is:         
    err.helpfile is:     
    err.helpcontext is:     
    err.lastdllerror is:     0
    err.scriptline is:     34
    err.retcode is:     0x00000000

.............................................................

English translation: Field name not defined in the record.

 

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
Share on other sites

So I tried running the registerCom.bat as admin like you said (which I am pretty sure is auto run during the install) but no success. I also added #RequireAdmin at the top of my script which I should have tried in the first place but still nothing. I am still scratching my head, please let me know if you find something.

 

English translation: Field name not defined in the record.

To solve this problem you need to install the newest API and the newest COM API which can be found here. http://fxcodebase.com/wiki/index.php/Download

I Installed all 4 of these to cover my bases. Which allows me to create the objects but not to catch the events the same way the VBS script does.

Latest Stable Release (1.3.0)

http://www.fxcorporate.com/ForexConnect-2013-1.3.0/ForexConnectAPI-1.3.0-win32.exe

http://www.fxcorporate.com/ForexConnect-2013-1.3.0/ForexConnectAPI-1.3.0-win64.exe

http://fxcodebase.com/bin/forexconnect/1.3.0/ForexConnectAPI-1.3.0-win32-COM.exe

http://fxcodebase.com/bin/forexconnect/1.3.0/ForexConnectAPI-1.3.0-win64-COM.exe

No problem can withstand the assault of sustained thinking.Voltaire

_Array2HTMLTable()_IEClassNameGetCollection()_IEquerySelectorAll()

Link to comment
Share on other sites

AutoIt does some additional checks to ensure the default sink is correctly implemented.

Quick look suggests calling it like this should work:

ObjEvent($session, "session_", "ISessionCallback")

 

First off, I have seen your contributions to Autoit and I am honored by you presence.

That's did it, I KNEW there should have been something I needed to add there! Especially as indicated by the ObjEvent page in the help file. How did you find what interface name needed to be used? I was searching around in the OLEviewer.exe and could not find what I was looking for.

No problem can withstand the assault of sustained thinking.Voltaire

_Array2HTMLTable()_IEClassNameGetCollection()_IEquerySelectorAll()

Link to comment
Share on other sites

First off, I have seen your contributions to Autoit and I am honored by you presence.

That's did it, I KNEW there should have been something I needed to add there! Especially as indicated by the ObjEvent page in the help file. How did you find what interface name needed to be used? I was searching around in the OLEviewer.exe and could not find what I was looking for.

​You have to examine typelib. Typelib is usually stored as resource of some dll (ocx, whatever), or found as standalone file with .tlb extension.
For example to find out where are the definitions, you would do something like this:

$core = ObjCreate("fxcore2.com.Transport")

ConsoleWrite("TypeLib is at " & ObjName($core, 4) & @CRLF)

Then you would load it to OLEviewer.exe and see what's there.

I wrote one Typelib viewer in AutoIt 100 years ago that you can use to explore TLBs, it's right here https://www.autoitscript.com/forum/topic/116735-typelib-viewer/. Just drop the file with path printed above and you will get all the info you need about all objects from forexcon, including ISessionCallback name and definition.

♡♡♡

.

eMyvnE

Link to comment
Share on other sites

@trancexx

Many thanks for the clarification.
Again I broadened a bit of my knowledge.

 

mLipok

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library * Include Dependency Tree (Tool for analyzing script relations) * Show_Macro_Values.au3 *

 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection * * 2GUI on Dual Monitor System * _SciLexer.au3 UDF * SciTE - Lexer for console pane

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

OpenOffice/LibreOffice/XLS Related: WriterDemo.au3 * XLS/MDB from scratch with ADOX

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskSchedulerIE Embedded Control Versioning (use IE9+ and HTML5 in a GUI) * PDF Related:How to get reference to PDF object embeded in IE * IE on Windows 11

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

I also encourage you to check awesome @trancexx code:  * Create COM objects from modules without any demand on user to register anything. * Another COM object registering stuffOnHungApp handlerAvoid "AutoIt Error" message box in unknown errors  * HTML editor

winhttp.au3 related : * https://www.autoitscript.com/forum/topic/206771-winhttpau3-download-problem-youre-speaking-plain-http-to-an-ssl-enabled-server-port/

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2023-04-24

Link to comment
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
 Share

×
×
  • Create New...