Jump to content

New SciTE4AutoIt3 available with SciTE v2.27


Jos
 Share

Recommended Posts

That's probably the problem. I'm in W7 right now and the same issue is there so I'll play with it here first and then go back to Vista. Funny it worked for some files yesterday but none today.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

Thanks @ProgAndy

That was the problem alright and it shall never again be an issue. I just added a function to my Fix_Scite script to handle it.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

  • 3 weeks later...
  • Developers

@Jos,

Could you tell me what #AutoIt3Wrapper_res_compatibility does ? i looked in the online documentation but the information of the wrapper isn't updated yet with all the changes.

Thnx

Emiel

This is the thread that triggered this option:

Vista has a popup box about compatibility or something and this can be avoided by this.

This MSDN page explains what is changed in the registry.

Jos :mellow:

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Developers

Uploaded the merged SciTE 2.28 and Scintilla version of Scite4AutoIt3 to the SciTE Beta directory.

Have a play when you want.

Jos :mellow:

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

I found bug in the new AutoIt3Wrapper. I surrounds the new OutFile_X64 directive. It seems when compiling as x64 and not specifying this directive, that it is derived from the infile instead of the normal OutFile directive. That kinda breaks the whole OutFile directive. Here's the concerned code from line 534:

; Set default for x64 exe
If $ScriptFile_Out_x64 = "" Then
    If $INP_Compile_Both = 'y' Then
        If $ScriptFile_Out_Type <> "" Then
            $ScriptFile_Out_x64 = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '_x64.' & $ScriptFile_Out_Type
        Else
            $ScriptFile_Out_x64 = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '_x64.exe'
        EndIf
    Else
        If $ScriptFile_Out_Type <> "" Then
            $ScriptFile_Out_x64 = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.' & $ScriptFile_Out_Type
        Else
            $ScriptFile_Out_x64 = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.exe'
        EndIf
    EndIf
EndIf
I think maybe $ScriptFile_In just needs to change to $ScriptFile_Out... but I haven't analyzed all the path and outfile code to be sure. Edited by wraithdu
Link to comment
Share on other sites

There's some other outfile code in the Aut2Exe section and obfuscator sections as well (not sure if that needs to be reviewed). But I also noticed that the OutFile_x86 directive is in there, but doesn't do anything at all. It only exists as a global variable and a preprocessor directive, maybe just not implemented yet?

Link to comment
Share on other sites

  • Developers

There's some other outfile code in the Aut2Exe section and obfuscator sections as well (not sure if that needs to be reviewed). But I also noticed that the OutFile_x86 directive is in there, but doesn't do anything at all. It only exists as a global variable and a preprocessor directive, maybe just not implemented yet?

I know it is still in there but I changed my mind and kept the original #AutoIt3Wrapper_Outfile directive for x86. Just ignore it.

Will have a look what I did with the x64 outfile logic, but it indeed looks like I did something different from what I wrote in the Post about it.

Jos

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Moderators

Jos,

A couple of niggles with the beta au3.properties file. It would not pick up the beta install on my machine.

- It had the AutoIt dir set to the x64 folder:

autoit3dir=C:\Program Files (x86)\AutoIt3

- It was missing the "\beta" in the "beta run" command":

bcommand.0="$(SciteDefaultHome)\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /beta /ErrorStdOut /in "$(FilePath)" /autoit3dir "$(autoit3dir)" /UserParams $(1) $(2) $(3) $(4)

Once I changed those and the BETA_AUTOIT flag, I got the beta run/compile options back. :mellow:

M23

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

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Developers

I found bug in the new AutoIt3Wrapper. I surrounds the new OutFile_X64 directive. It seems when compiling as x64 and not specifying this directive, that it is derived from the infile instead of the normal OutFile directive. That kinda breaks the whole OutFile directive. Here's the concerned code from line 534:

; Set default for x64 exe
If $ScriptFile_Out_x64 = "" Then
    If $INP_Compile_Both = 'y' Then
        If $ScriptFile_Out_Type <> "" Then
            $ScriptFile_Out_x64 = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '_x64.' & $ScriptFile_Out_Type
        Else
            $ScriptFile_Out_x64 = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '_x64.exe'
        EndIf
    Else
        If $ScriptFile_Out_Type <> "" Then
            $ScriptFile_Out_x64 = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.' & $ScriptFile_Out_Type
        Else
            $ScriptFile_Out_x64 = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.exe'
        EndIf
    EndIf
EndIf
I think maybe $ScriptFile_In just needs to change to $ScriptFile_Out... but I haven't analyzed all the path and outfile code to be sure.

Thinking about this I guess this should really do it and make it simpler:

;Set default for x86 exe
If $ScriptFile_Out = "" Then
    If $ScriptFile_Out_Type <> "" Then
        $ScriptFile_Out = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.' & $ScriptFile_Out_Type
    Else
        $ScriptFile_Out = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.exe'
    EndIf
EndIf
$ScriptFile_Out = _PathFull($ScriptFile_Out)
; fix _PathFull() problem
If StringLeft($ScriptFile_Out, 3) = "\\\" Then $ScriptFile_Out = StringMid($ScriptFile_Out, 2)
; Set default for x64 exe
If $ScriptFile_Out_x64 = "" Then
    $ScriptFile_Out_x64 = StringReplace($ScriptFile_Out, ".", "_x64.", -1)
EndIf
Will do some more testing and then upload it into the Beta directory.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Developers

Jos,

A couple of niggles with the beta au3.properties file. It would not pick up the beta install on my machine.

- It had the AutoIt dir set to the x64 folder:

autoit3dir=C:\Program Files (x86)\AutoIt3

- It was missing the "\beta" in the "beta run" command":

bcommand.0="$(SciteDefaultHome)\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /beta /ErrorStdOut /in "$(FilePath)" /autoit3dir "$(autoit3dir)" /UserParams $(1) $(2) $(3) $(4)

Once I changed those and the BETA_AUTOIT flag, I got the beta run/compile options back. :mellow:

M23

The proper directory is set in the au3.properties by UpdateDefs.exe, which is ran at the end of the installer process.

Just run SciTEConfig and swap the config between Prod<->Beta and you will see it is updated.

You do not need \Beta as the is added by autoit3wrapper already.

Jos :)

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Moderators

Jos,

I had just put the new file directly into the properties folders. Can you run UpdateDefs.exe manually after having done this? :mellow:

M23

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

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Developers

Jos,

I had just put the new file directly into the properties folders. Can you run UpdateDefs.exe manually after having done this? :mellow:

M23

SciTEConfig runs it for you when you change between Beta and Prod definitions, or just do:

UpdateDefs.exe /s latest

Jos :)

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

  • Moderators

Jos,

SciTEConfig runs it for you when you change between Beta and Prod definitions

Aha, I had run SciTEConfig but had not swapped the defs.

Dank je wel! :mellow:

M23

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

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Thinking about this I guess this should really do it and make it simpler:

;Set default for x86 exe
If $ScriptFile_Out = "" Then
    If $ScriptFile_Out_Type <> "" Then
        $ScriptFile_Out = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.' & $ScriptFile_Out_Type
    Else
        $ScriptFile_Out = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.exe'
    EndIf
EndIf
$ScriptFile_Out = _PathFull($ScriptFile_Out)
; fix _PathFull() problem
If StringLeft($ScriptFile_Out, 3) = "\\\" Then $ScriptFile_Out = StringMid($ScriptFile_Out, 2)
; Set default for x64 exe
If $ScriptFile_Out_x64 = "" Then
    $ScriptFile_Out_x64 = StringReplace($ScriptFile_Out, ".", "_x64.", -1)
EndIf
Will do some more testing and then upload it into the Beta directory.

Jos

Not quite. Unless I have Compile_Both set, I don't want AutoIt3Wrapper changing my OutFile name just because it is compiling an x64 exe. So I think adding that test in there for the addition of '_x64' to the outfile name would make more sense.
Link to comment
Share on other sites

Oh, and you still need to call _PathFull (and the \\\ fix) for the x64 outfile in case it is given as a directive.

Here's what I ended up with:

;Set default for x86 exe
If $ScriptFile_Out = "" Then
    If $ScriptFile_Out_Type <> "" Then
        $ScriptFile_Out = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.' & $ScriptFile_Out_Type
    Else
        $ScriptFile_Out = StringTrimRight($ScriptFile_In, StringLen($ScriptFile_In_Ext)) & '.exe'
    EndIf
EndIf
$ScriptFile_Out = _PathFull($ScriptFile_Out)
; fix _PathFull() problem
If StringLeft($ScriptFile_Out, 3) = "\\\" Then $ScriptFile_Out = StringMid($ScriptFile_Out, 2)
; Set default for x64 exe
If $ScriptFile_Out_x64 = "" Then
    If $INP_Compile_Both = "y" Then
        $ScriptFile_Out_x64 = StringReplace($ScriptFile_Out, ".", "_x64.", -1)
    Else
        $ScriptFile_Out_x64 = $ScriptFile_Out
    EndIf
EndIf
$ScriptFile_Out_x64 = _PathFull($ScriptFile_Out_x64)
;
; fix _PAthFull() problem
If StringLeft($ScriptFile_Out_x64, 3) = "\\\" Then $ScriptFile_Out_x64 = StringMid($ScriptFile_Out_x64, 2)
;If $INP_Icon <> "" Then $INP_Icon = _PathFull($INP_Icon)
; save current workdir for later use
Edited by wraithdu
Link to comment
Share on other sites

  • Developers

Oh, and you still need to call _PathFull (and the \\\ fix) for the x64 outfile in case it is given as a directive.

True, I considered the _FullPath() and Fix being done in the X86 name but that obviously is only the case when the X64 outfile isn't specified.

Thanks

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Link to comment
Share on other sites

On Windows, the global properties file is located in the directory of the executable. The user properties file is looked for in the user profile directory as set in the USERPROFILE environment variable, or in the directory of the executable if USERPROFILE is not set. For GTK+ the user properties file is found in the user's home directory and the global properties in a directory set at build time - normally /usr/share/scite. If the "SciTE_HOME" environment variable is set on either Windows or GTK+ then it is where both the global and user properties files are found.

Yes?

The alternative ... (import) is probably not what your looking for.

"Straight_and_Crooked_Thinking" : A "classic guide to ferreting out untruths, half-truths, and other distortions of facts in political and social discussions."
"The Secrets of Quantum Physics" : New and excellent 2 part documentary on Quantum Physics by Jim Al-Khalili. (Dec 2014)

"Believing what you know ain't so" ...

Knock Knock ...
 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...