maniootek Posted September 4, 2019 Posted September 4, 2019 Is it possible to create object which act like array with LONG data type values? I am working with COM object where some method require this type of data to pass. Here is example from helpfile of the app providing COM object (not sure what language is it) Sub DodajFZz() Dim oSubGT As InsERT.Subiekt Dim oDok As Insert.SuDokument Dim oTab() As Long ReDim oTab(2) oTab(0) = 3 oTab(1) = 4 oTab(2) = 5 Set oSubGT = UruchomSubiekta() Set oDok = oSubGT.SuDokumentyManager.DodajFZz oDok.MiejsceWystawienia = "Wrocław" oDok.NumerOryginalny = "FZz 24/GT/2011" oDok.NaPodstawieWielu oTab oDok.Wystawil = "Szef" oDok.Zapisz oDok.Zamknij End Sub As you can see there is "Dim oTab() AS Long". Now, how to create something like this in Autoit? I tried to make simple array in Autoit and pass to the method but it does not work. Local $aTab[] = [3,4,5] $oDok.NaPodstawieWielu($aTab) ;does not work Other methods working fine. Any idea?
mLipok Posted September 4, 2019 Posted September 4, 2019 1 3 minutes ago, maniootek said: I tried to make simple array in Autoit and pass to the method but it does not work. Local $aTab[] = [3,4,5] $oDok.NaPodstawieWielu($aTab) ;does not work What your's COM Error Handler function said to you ? 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 Code * for 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 API * ErrorLog.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 TaskScheduler * IE 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 stuff * OnHungApp handler * Avoid "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" , 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
maniootek Posted September 4, 2019 Author Posted September 4, 2019 Error handler says "Group member not found" or something like that (it's translated from my language)
mLipok Posted September 4, 2019 Posted September 4, 2019 (edited) "Nie znaleziono członka grupy" >>> "Group member not found" But I do not know what this mean in your case.... EDIT: are you sure the line #74 is exactly this specific one ? Edited September 4, 2019 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 Code * for 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 API * ErrorLog.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 TaskScheduler * IE 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 stuff * OnHungApp handler * Avoid "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" , 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
maniootek Posted September 4, 2019 Author Posted September 4, 2019 Just now, mLipok said: "Nie znaleziono członka grupy" >>> "Group member not found" But I do not know what this mean in your case.... me either...🤔 I think the problem is with data type. It must be object of 32-bit LONG elements which probably is not supported by AutoIt. Some other forum member had same problem but with PHP. Same code written in VBA worked but with PHP not. Same method and same problem with array.
maniootek Posted September 4, 2019 Author Posted September 4, 2019 7 minutes ago, mLipok said: are you sure the line #74 is exactly this specific one ? yes ofc
maniootek Posted September 4, 2019 Author Posted September 4, 2019 When I change the way I try to pass the array to method from $oDok.NaPodstawieWielu = $aTab to $oDok.NaPodstawieWielu($aTab) then I get error "Type mismatch"
mLipok Posted September 4, 2019 Posted September 4, 2019 What documentation for this object says about "NaPodstawieWielu" ? 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 Code * for 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 API * ErrorLog.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 TaskScheduler * IE 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 stuff * OnHungApp handler * Avoid "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" , 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
maniootek Posted September 4, 2019 Author Posted September 4, 2019 1 minute ago, mLipok said: What documentation for this object says about "NaPodstawieWielu" ? There you go...
mLipok Posted September 4, 2019 Posted September 4, 2019 Are you sure that this code is valid for your case ? 1 3 hours ago, maniootek said: I tried to make simple array in Autoit and pass to the method but it does not work. Local $aTab[] = [3,4,5] $oDok.NaPodstawieWielu($aTab) ;does not work In other words, is this 3,4,5, are valid ID === invoices for this ID exist in the databases ? Did you try with single ID ? 2 1 hour ago, maniootek said: I think the problem is with data type. It must be object of 32-bit LONG elements which probably is not supported by AutoIt. Quite possible but this is out of my knowledge. 2 1 hour ago, maniootek said: Some other forum member had same problem but with PHP. Same code written in VBA worked but with PHP not. Same method and same problem with array. Could you post a link to this discussion? 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 Code * for 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 API * ErrorLog.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 TaskScheduler * IE 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 stuff * OnHungApp handler * Avoid "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" , 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
maniootek Posted September 4, 2019 Author Posted September 4, 2019 1 hour ago, mLipok said: Are you sure that this code is valid for your case ? Yes I am sure that all IDs in the array are correct and exists in database as the entries that the function require. 2 hours ago, mLipok said: Could you post a link to this discussion? http://www.forumsubiekta.pl/dodatki-zestawienia/problem-z-tworzeniem-faktury-zbiorczej-z-poziomu-php
maniootek Posted March 10, 2020 Author Posted March 10, 2020 Maybe DllStructCreate could help to create array with 32-bit long elements in AutoIt? Anyone can give advice?
Danyfirex Posted March 10, 2020 Posted March 10, 2020 Hello, I think dll structure will not help. anyway You can do this. Local $t=DllStructCreate("long[10]") btw, where can I get that software for do some testing? does it provide a free version? Or probably you can share the TypeLib definition or You can check by yourself with some COM Inspect tool like COMView or COM Object Viewer to be sure about the data type required. Saludos Danysys.com AutoIt... UDFs: VirusTotal API 2.0 UDF - libZPlay UDF - Apps: Guitar Tab Tester - VirusTotal Hash Checker Examples: Text-to-Speech ISpVoice Interface - Get installed applications - Enable/Disable Network connection PrintHookProc - WINTRUST - Mute Microphone Level - Get Connected NetWorks - Create NetWork Connection ShortCut
maniootek Posted March 10, 2020 Author Posted March 10, 2020 (edited) On 3/10/2020 at 1:39 PM, Danyfirex said: Local $t=DllStructCreate("long[10]") how can i test it in my script? I am not familiar with any dll On 3/10/2020 at 1:39 PM, Danyfirex said: Or probably you can share the TypeLib definition I used TLBViewer.au3 found in AutoIt forum and this is result of this method: 165. property NaPodstawieWielu STDCALL FUNC PUREVIRTUAL; HRESULT NaPodstawieWielu( [in] int* psaVal ); does it says anything to you? I wil also attach dll file for reference GTA64.dll (file deleted to free up some attachment upload limit) Edited September 29, 2022 by maniootek
Danyfirex Posted March 10, 2020 Posted March 10, 2020 Dll example would be Local $t=DllStructCreate("long[3]") DllStructSetData($t,1,3) DllStructSetData($t,1,4) DllStructSetData($t,1,5) $oDok.NaPodstawieWielu($t) Or $oDok.NaPodstawieWielu(DllStructGetPtr($t)) But I'm almost sure it will not work. The only way I can see that It could probably work is using ObjCreateInterface to call the interface directly but it will require set the String describing v-table so It would be complex if you don't have some knowledge about it. Saludos Danysys.com AutoIt... UDFs: VirusTotal API 2.0 UDF - libZPlay UDF - Apps: Guitar Tab Tester - VirusTotal Hash Checker Examples: Text-to-Speech ISpVoice Interface - Get installed applications - Enable/Disable Network connection PrintHookProc - WINTRUST - Mute Microphone Level - Get Connected NetWorks - Create NetWork Connection ShortCut
Danyfirex Posted March 10, 2020 Posted March 10, 2020 Dll example would be Local $t=DllStructCreate("long[3]") DllStructSetData($t,1,3) DllStructSetData($t,1,4) DllStructSetData($t,1,5) $oDok.NaPodstawieWielu($t) Or $oDok.NaPodstawieWielu(DllStructGetPtr($t)) But I'm almost sure it will not work. The only way I can see that It could probably work is using ObjCreateInterface to call the interface directly but it will require set the String describing v-table so It would be complex if you don't have some knowledge about it. Saludos Danysys.com AutoIt... UDFs: VirusTotal API 2.0 UDF - libZPlay UDF - Apps: Guitar Tab Tester - VirusTotal Hash Checker Examples: Text-to-Speech ISpVoice Interface - Get installed applications - Enable/Disable Network connection PrintHookProc - WINTRUST - Mute Microphone Level - Get Connected NetWorks - Create NetWork Connection ShortCut
maniootek Posted March 10, 2020 Author Posted March 10, 2020 7 minutes ago, Danyfirex said: Dll example would be Local $t=DllStructCreate("long[3]") DllStructSetData($t,1,3) DllStructSetData($t,1,4) DllStructSetData($t,1,5) $oDok.NaPodstawieWielu($t) Or $oDok.NaPodstawieWielu(DllStructGetPtr($t)) But I'm almost sure it will not work. I tried this way: Local $t=DllStructCreate("long[3]") DllStructSetData($t,1,3) DllStructSetData($t,2,4) DllStructSetData($t,3,5) $oDok.NaPodstawieWielu($t) but I got new COM error message "Interface not registered" on $oDok.NaPodstawieWielu($t) line 8 minutes ago, Danyfirex said: The only way I can see that It could probably work is using ObjCreateInterface to call the interface directly but it will require set the String describing v-table so It would be complex if you don't have some knowledge about it. Would you help me with that?
maniootek Posted March 10, 2020 Author Posted March 10, 2020 27 minutes ago, Danyfirex said: Local $t=DllStructCreate("long[3]") DllStructSetData($t,1,3) DllStructSetData($t,1,4) DllStructSetData($t,1,5) anyway, this example is wrong I guess? you set data to index 1 three times, am I right?
Danyfirex Posted March 10, 2020 Posted March 10, 2020 yes I wrote it wrong. You're right. Probably I can help you. I'll send a PM. Saludos Danysys.com AutoIt... UDFs: VirusTotal API 2.0 UDF - libZPlay UDF - Apps: Guitar Tab Tester - VirusTotal Hash Checker Examples: Text-to-Speech ISpVoice Interface - Get installed applications - Enable/Disable Network connection PrintHookProc - WINTRUST - Mute Microphone Level - Get Connected NetWorks - Create NetWork Connection ShortCut
Danyfirex Posted March 10, 2020 Posted March 10, 2020 yes I wrote it wrong. You're right. Probably I can help you. I'll send a PM. Saludos Danysys.com AutoIt... UDFs: VirusTotal API 2.0 UDF - libZPlay UDF - Apps: Guitar Tab Tester - VirusTotal Hash Checker Examples: Text-to-Speech ISpVoice Interface - Get installed applications - Enable/Disable Network connection PrintHookProc - WINTRUST - Mute Microphone Level - Get Connected NetWorks - Create NetWork Connection ShortCut
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now