AstronomerDaz

Odd error saving a file in Windows 10

4 posts in this topic

Having migrated my PC across to W10, I am getting an odd behaviour when executing a script that works perfectly under W7... Wondered if anyone else had come across this:

So, my script runs an external program called Deep Sky Planner. It opens two reports to calculate positions in the night sky for each of the 8 planets, plus the Moon and Sun. It then saves each of these reports as a HTML file, and a PDF file. I upload these to my astronomical societies web-site. One report is a set of basic data, then a more detailed one is run.

Each report is named with the month-year-object, so 1015Venus.html or 1015Sun_det.pdf

Under W7 (64bit), no problem. On my W10 machine, the change of the filename to be saved is not recognised by the 'Save As' dialogue box, even though the new file name is clearly there in the text edit box! So, I get an error saying that the file already exists!

I've attached a picture of the dialog box error so you can see what I mean.

I've also attached my code (feel free to rip this apart :) )

Has anyone else seen this? Any suggestions??

 

Thanks
Daz

dj_script_error.jpg

DSP_This_Month.au3

Share this post


Link to post
Share on other sites



AstronomerDaz,

I would check that you are actually deleting the files in the "; Clear out any files that may have been run already for this month" section as it appears from your image that there is indeed an exisitng file of that name still present.

M23

 


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites

Hi,

Yes, the files are being deleted - most definitely.

What the image is showing is:

1 The file 1115Sun.htm is NOT the name of the file being saved - The file being saved is 1115Mercury.htm. 1115Sun was saved on the first iteration of the loop

2. The background shows the console of the editor - where I print out the names of each report to be saved as a debug, so I can see the file name is being generated correctly

 

The filename 115Mercury.htm is being entered into the File Name box in the dialog, but the dialog box is not seeing it - it still thinks it is 1115Sun.html

 

 

Share this post


Link to post
Share on other sites

AstronomerDaz,

My apologies - I can only blame the small screen I was using earlier - and my old eyes!

Looking at this function (which appears to be the source of the problem)

Func ExportHTML (ByRef $object , $type)

   local $in=$savePath & $object, $out=""
   local $varSave

   $varSaveLabel=$varSaveHTMLLabel



   if $type = "B" then
   $in = $in & ".htm"
   Else
      $in = $in & "_det.htm"
   Endif

   send("!feh")
   WinWaitActive($varSave)
   Do
      ControlSetText($varSaveLabel, "" , "[ID:1001]", $in)
      Sleep(500)
      ControlSetText($varSaveLabel, "" , "[ID:1001]", "")
      Sleep(500)
      ControlSetText($varSaveLabel, "" , "[ID:1001]", $in)
      Sleep(500)
      $out=ControlGetText($varSaveLabel, "", "[ID:1001]")
      If $in<>$out Then
         ConsoleWrite("HTML path does not match - rewriting" & @CRLF)
         Exit
      EndIf

   Until $in=$out
   ControlClick($varSaveLabel, "", "[ID:1]")

EndFunc

I am struck by 2 things:

  1. You do not declare a value for $varSave and yet you use it in the WinWaitActive command.
  2. Are you sure the Control IDs you are using are the same in the Win10 dialog as they obviously were in Win 7?

Either of those might be causing a problem.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

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

  • Similar Content

    • SorryButImaNewbie
      By SorryButImaNewbie
      Hello,
      I try to add a new UDF to my AutoIT library, and it seems I fail. I started to work following the insturctions found on the wiki . 
      I made an extra folder just next to my AutoIT folder, called ExtraUDF, and copied the file CUIAutomation2.au3 in it (I try to use this UDF for automating a program) then I run sciteconfig, set this folder up as User Include Folder, applied the changes, then run the calltip manager and got a msg when I tried to parse it. I attach a few pictures for better present the problem.
      I think I miss something here, should i put anything else on the ExtraUDF folder? I dont think that the CallTip manager added the udf to scite, If I try to run it i get a msg saying that I Scite cant open the include file and naturally after that, It can't use the functions called from it.
      Thank you for your help and insight as always! Please ask, if anything is fuzzy about the problem
       





    • DLS
      By DLS
      I have a working script that changes the core affinity and process priority of multiples of a specific application I have running.  
      I have that part figured out.

      I would like to make a little modification to it.

      Windows10 introduced virtual desktops.  I am trying to have different core affinity and priority of processes on the visible and non-visible desktops.  
      What I need is a bool function that could be described as IsWindowOnCurrentDesktop($hWnd).  I have searched the winAPI.au3 but I do not believe anything like that exists built it.
      I have searched multiple places before asking for help. I found a Microsoft supplied example of the function I need using C#, but I am unfamiliar with C# to a degree that I cannot port the system call over.
      https://blogs.msdn.microsoft.com/winsdk/2015/09/10/virtual-desktop-switching-in-windows-10/
      Help is appreciated but not expected.  Thanks in advanced.   In the meantime I will be learning C# syntax and class structure.
    • IamKJ
      By IamKJ
      Basically I'm trying to figure out what would be the most efficient means of making multiple use buttons.  What I'd like is to be able to click a button and pop up a msgbox to gather some info, or two message boxes, but upon entering that info and the msgbox dialogue being over, it'll then switch to a different function.  I was thinking of using 1/0 to designate which is true or not, but not sure if that'd be the most efficient way.  Still very new to coding, and autoit, any help would be great!
    • Yash91
      By Yash91
      Hi Experts,
      I want to integrate AutoIT with Eclipse to write my code in java for automating the desktop base application, i have integrate jacob 1.18 and verify the dll's also but i am getting How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51 issue.
      I am using 32 bit windows xp with java 1.6 version.
      Java 1.7 is unsupported in 32 bit windows xp. is there any solution for the same.
    • AndyS01
      By AndyS01
      I recently installed AutoIt and SciTE4AutoIT and when I edit a file and change the editor's screen position and size, then exit and edit the file again, the editor reverts to the original GUI metrics. My laptop is running Windows 7 Professional, 64 bit OS.   I have a laptop with the same software, but 32 bit OS and it  works OK.