Jump to content

ISN AutoIt Studio [old thread]


ISI360
 Share

Recommended Posts

On 9/16/2017 at 1:59 AM, ISI360 said:

Can you explain me the problem with the projecttree a little bit more?

Here is a test setup.  This is a generic template I use to start projects.  The contents of the files are really irrelevant, but I put them here for reference.

path:  C:\LocalProjects\test

test.isn

[ISNAUTOITSTUDIO]
name=test
mainfile=test.au3
author=ladwilli
time=638382
date=18.09.2017
comment=This is a test project
studioversion=1.06
version=1.0
projectopened=4
lastusedfiles=%projectdir%\test.au3|%projectdir%\inc_config.au3|||||||||
opened=
lastopendate=18.09.2017 11:11
opened_tabs=%projectdir%\test.au3|
temp_script_path=%projectdir%\Temp
temp_script_name=Tempscript_%count%
temp_script_delete_mode=2
compile_finished_project_dir=%projectname%
use_changelog_manager=false
changelog_use_author_from_project=false
compile_exeicon=%isnstudiodir%\autoitstudioicon.ico
compile_exename=test
compile_mode=1
compile_delete_empty_folders=true
compile_source=false
compile_x64=false
compile_openaftercompile=true
compile_runaftercompile=false
compile_useupx=true
compile_console=false
compile_copy_project_resources=true
compile_compression=normal
additional_api_folders=
additional_properties_folders=
[ISNPROJECT_TODOLISTDATA]
categories=ct_2017030916439|ct_2017030916222|ct_201703091641|ct_2017030916312
ct_2017030916439_text=%langstring(1280)%
ct_2017030916222_text=%langstring(1281)%
ct_201703091641_text=%langstring(1282)%
ct_2017030916312_text=%langstring(1283)%
ct_2017030916439_color=0xFF7A7A
ct_2017030916222_color=0xFFC56E
ct_201703091641_color=0xF9FF5D
ct_2017030916312_color=0xAAEE99

test.au3

#Region
#pragma compile(Out, test.exe)
#pragma compile(Icon, test.ico)
#pragma compile(ExecLevel, asInvoker)
#pragma compile(UPX, False)
#pragma compile(AutoItExecuteAllowed, false)
#pragma compile(Console, false)
#pragma compile(Compression, 9)
#pragma compile(x64, false)
#pragma compile(inputboxres, false)
#pragma compile(Comments, 'Authored by David Williams (willichan)')
#pragma compile(FileDescription, 'This is a test project')
#pragma compile(FileVersion, 0.0.0.0)
#pragma compile(InternalName, 'test')
#pragma compile(LegalTrademarks, '')
#pragma compile(OriginalFilename, test.exe)
#pragma compile(ProductName, test.exe)
#pragma compile(ProductVersion, 0.0.0.0)

#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=n
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
#AutoIt3Wrapper_Run_Tidy=y
#AutoIt3Wrapper_Run_Au3Stripper=y
#Au3Stripper_Parameters=/striponly
#EndRegion

#cs ----------------------------------------------------------------------------

   Project Name: test
    Description: This is a test project
  Creation Date: 9/18/2017
 AutoIt Version: v3.3.14.2
         Author: David Williams (willichan)

#ce ----------------------------------------------------------------------------

#include "inc_config.au3"

INC_config.au3

#include-once

Opt("MustDeclareVars", 1)        ;0=no, 1=require pre-declare
Opt("TrayAutoPause",   0)        ;0=no pause, 1=Pause
Opt("TrayMenuMode",    0)        ;0=append, 1=no default menu, 2=no automatic check, 4=menuitemID  not return
Opt("TrayIconHide",    0)        ;0=show, 1=hide tray icon

Global Const $MyName=StringLeft(@ScriptName, StringInStr(@ScriptName,".", 0, -1)-1) ;get just the name portion of the script/exe name
Global Const $MyMutex=$MyName & "-55EC4873889EC5F2" ;name the mutex for this app
If _MutexExists($MyMutex) Then Exit ;exit if another instance of this app is running

_ConfigInitialize()

Func _ConfigInitialize()
    OnAutoItExitRegister("_ConfigDestroy")
    ;initializers here for script startup
EndFunc  ;==>_ConfigInitialize

Func _ConfigDestroy()
    ;destructors here for script shutdown/cleanup
EndFunc  ;==>_ConfigDestroy

Func _MutexExists($sOccurenceName)
    ;Credit goes to martin for this function
    Local $ERROR_ALREADY_EXISTS = 183, $handle, $lastError
    $sOccurenceName = StringReplace($sOccurenceName, "\", "")
    $handle = DllCall("kernel32.dll", "int", "CreateMutex", "int", 0, "long", 1, "str", $sOccurenceName)
    $lastError = DllCall("kernel32.dll", "int", "GetLastError")
    Return $lastError[0] = $ERROR_ALREADY_EXISTS
EndFunc  ;==>_MutexExists

 

 

I open the project by double-clicking on the test.isn file.  This opens the ISN Studio, with the test.au3 file open.

The Project tree window only shows "ISN AutoIt Studio Projects", with nothing under it.

Selecting Project -> Project settings -> change mainfile, I get an empty window with only OK and Cancel buttons.

-> Select files to compile, I get a windows with two empty sections with OK and Cancel buttons.

 

In this test scenario, these are not very significant, but in larger projects, it has a bigger impact.

Link to comment
Share on other sites

8 hours ago, ISI360 said:

Can you please post a debug log from your ISN? (Settings -> General -> Advanced -> Debug)

ISN AutoIt Studio - Debug
----------------------------------

 - SYSTEM -
----------------
OS:     WIN_7 Service Pack 1 (X64)
RAM:        16303.63 MB
WinAPI version: 6.1
Run on monitor: 2 (Detected: 3)
Run from drive: C:\
 |-> compressed:    No

 - ISN AUTOIT STUDIO GENERAL -
----------------
Studio version: Version 1.06 09.09.2017 (20170909)
Executable path:    C:\Program Files (x86)\ISN AutoIt Studio\Autoit_Studio.exe (PID 8936)
Startups:       20
Mode:       Normal
ISN AutoIt version: 3.3.14.2
Current Skin:   #none#
ISN DPI scale:  1
Languagefile:   english.lng
Run mode:   Compiled version
Run ISN as admin:   No

 - AUTOIT PATHS -
----------------
Autoit3.exe:    OK (C:\Program Files (x86)\AutoIt3\AutoIt3.exe)
Aut2exe.exe:    OK (C:\Program Files (x86)\AutoIt3\Aut2Exe\Aut2exe.exe)
AutoIt3Help.exe:    OK (C:\Program Files (x86)\AutoIt3\AutoIt3Help.exe)
Au3Check.exe:   OK (C:\Program Files (x86)\AutoIt3\Au3Check.exe)
Au3Info.exe:    OK (C:\Program Files (x86)\AutoIt3\Au3Info.exe)
AU3Stripper.exe:    OK (C:\Program Files (x86)\AutoIt3\SciTE\au3Stripper\AU3Stripper.exe)
Tidy.exe:       OK (C:\Program Files (x86)\AutoIt3\SciTE\Tidy\Tidy.exe)

 - ISN AUTOIT STUDIO PATHS -
----------------
%myisndatadir%: C:\Users\ladwilli\Documents\ISN AutoIt Studio
Working dir:    C:\LocalProjects\test
Script dir: C:\Program Files (x86)\ISN AutoIt Studio
Project dir:    C:\Users\ladwilli\Documents\ISN AutoIt Studio\Projects
Templates dir:  C:\Users\ladwilli\Documents\ISN AutoIt Studio\Templates
Release dir:    C:\Users\ladwilli\Documents\ISN AutoIt Studio\Release
Backup dir: C:\Users\ladwilli\Documents\ISN AutoIt Studio\Backups
Skins dir:      C:\Program Files (x86)\ISN AutoIt Studio\Data\Skins
Cache dir:  C:\Users\ladwilli\Documents\ISN AutoIt Studio\data\cache
Plugins dir:    C:\Users\ladwilli\Documents\ISN AutoIt Studio\Data\Plugins
config.ini path:    C:\Users\ladwilli\Documents\ISN AutoIt Studio\Data\Config.ini
Config writable:    Yes
ISN dir writable:   No

 - ISN AUTOIT STUDIO PLUGINS -
----------------
Loaded Plugins: 2
Loaded filetypes:   jpg|jpeg|bmp|ico|dll|wav|wave|mp3|ogg|isf|

 

Link to comment
Share on other sites

If I start the ISN Studio, the project does not appear in the project manager, since it is not in the managed folder.

If I import the project, it seems to create a copy of the project in the managed folder, and all code changes go to that folder instead of the original one.  So, importing does not serve as an option either.

Currently, my only option is to open it by double-clicking on the .isn file inside my project folder.

 

Sorry to be a pain about this one.  I love your editor.  I even have an .isn file included in the templates for my project folder builder.  But this one aspect seems to get in the way for me.

Link to comment
Share on other sites

But this is all by design. The ISN shows only these projects on the welcome screen witch are in the "project" folder. (And your test project isn´t there)
And importing a project means import (copy) a porject into the ISN porject folder. So all ok here.

Why don´t you change the Main ISN Porject folder to, in your case, "C:\LocalProjects" ? You can do this in the settings -> Program Paths -> Folder for Porjects.
Then the ISN should find your project at the start screen and the project manager. And your project can stay at the C:\LocalProjects path!

Edited by ISI360
Link to comment
Share on other sites

10 hours ago, ISI360 said:

Why don´t you change the Main ISN Porject folder to, in your case, "C:\LocalProjects" ?

This could be a way to go.  Since I have multiple project locations, I would need to change the folder location each time.

Where is this path stored?  I could re-associate the .isn files to a simple launcher script that would change the main folder to the appropriate path, then launch ISN Studio.

----- Edit -----

I found the config.ini file.  I think this might work for me.

Edited by willichan
Additional Information
Link to comment
Share on other sites

In the mean time, this is a quick throw together that seems to work well.  I just re-associated the .isn file to this script, and now I can use ISN Studio with my multiple locations.

Thanks again for a great product.

#Region
#pragma compile(Out, ISNLauncher.exe)
#pragma compile(Icon, ISNLauncher.ico)
#pragma compile(ExecLevel, asInvoker)
#pragma compile(UPX, False)
#pragma compile(AutoItExecuteAllowed, false)
#pragma compile(Console, false)
#pragma compile(Compression, 9)
#pragma compile(x64, false)
#pragma compile(inputboxres, false)
#pragma compile(Comments, 'Authored by willichan')
#pragma compile(FileDescription, 'Sets the projects folder in ISN Studio to the parent of the current project, then launches ISN Studio')
#pragma compile(FileVersion, 0.0.0.0)
#pragma compile(InternalName, 'ISNLauncher')
#pragma compile(OriginalFilename, ISNLauncher.exe)
#pragma compile(ProductName, ISNLauncher.exe)
#pragma compile(ProductVersion, 0.0.0.0)


#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=n
#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
#AutoIt3Wrapper_Run_Tidy=y
#AutoIt3Wrapper_Run_Au3Stripper=y
#Au3Stripper_Parameters=/striponly
#EndRegion

#cs ----------------------------------------------------------------------------

    Project Name: ISN Studio Launcher
    Description: Sets the projects folder in ISN Studio to the parent of the current project, then launches ISN Studio
    Creation Date: 9/21/2017
    AutoIt Version: v3.3.14.2
    Author: willichan

#ce ----------------------------------------------------------------------------

Local $newpath, $exepath, $isnpath

$exepath = RegRead("HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{7AAAE763-9EE4-448D-994F-94B52EEAA180}_is1", "InstallLocation")
If @error Then $exepath = RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7AAAE763-9EE4-448D-994F-94B52EEAA180}_is1", "InstallLocation")
If @error Then
    MsgBox(0, "ISN Studio Launch Error", "Unable to locate ISN Studio path")
    Exit
EndIf
If StringRight($exepath, 1) <> "\" Then $exepath &= "\"
$exepath &= "Autoit_Studio.exe"
If Not FileExists($exepath) Then
    MsgBox(0, "ISN Studio Launch Error", "Unable to locate ISN Studio")
    Exit
EndIf

If @Compiled Then
    If $CmdLine[0] < 1 Then
        MsgBox(0, "ISN Studio Launch Error", "This script should not be launched directly")
        Exit
    EndIf
    $isnpath = $CmdLine[1]
Else
    $isnpath = "C:\LocalProjects\ISNLauncher\ISNLauncher.isn"
EndIf
$newpath = StringLeft($isnpath, StringInStr($isnpath, "\", 0, -2) - 1)

IniWrite(RegRead("HKCU\Software\ISN AutoIt Studio", "Configfile"), "config", "projectfolder", $newpath)
Run($exepath & " " & $isnpath)

 

Link to comment
Share on other sites

There may be a totally simple fix for this but I can't seem to find it. This morning I upgraded to the latest version, and I got a warning my *.isn would be updated as well (I haven't used it a few months). When I try to run my project (F5), it is not passing the parameter I have set in Project > Test Project > Edit run parameters. $CmdLine[0] is zero...

Any thoughts? Thanks!

p.s. really enjoy working in ISN Studio!

Link to comment
Share on other sites

  • Jos locked this topic
Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...