Randem Systems Support Board

InnoScript => InnoScript - General Questions, Report Bugs, Problems etc... => Topic started by: davethomson on May 14, 2008, 01:20:31 PM

Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 14, 2008, 01:20:31 PM
I am scripting a file I have before but using version 9. I get this error Code:
 
[Code]
function GetAppFolder(Param: String): String;
begin
  if InstallOnThisVersion('0,6', '0,0') = irInstall then
    Result := 'C:\Users\Public\'   ExpandConstant('{username}')  
  else
    Result := ExpandConstant('{pf}');
end;
 
I have no idea what this means, other than it is shown as pink on the results which I find means Added Lines. I have no idea how to correct it.  
 
When I run Innoscript on the script file I see a Warning: Unsafe flag usage on file, dogfight manager.exe: The ignoreversion flag should not be used on files installed to the Windows System Directory[(sys)].
 
I have no idea what this means. Did I not set something in InnoScript that I should have set? I am using InnoScript 9 on files I have previously used. I have never seen this message on InnoSetup before.
 
I am installing the program in the folder:
 
C:/Dogfight Manager
 
Which I set in InnoScript Parameters.
 
 
 
You help is appreciated  
 
(Message edited by wiseoldman on May 14, 2008)
 
(Message edited by wiseoldman on May 14, 2008)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 14, 2008, 01:35:55 PM
What Error do you get? That code come from the templates (Vista.tpl) What selections have you made on the main screen?
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 14, 2008, 01:57:19 PM
I get the pink (Added Lines) code that I posted. I have no idea what you mean by What selections have you made on the main screen? What main screen? My program, this board, InnoSetup? I have innoscript and Innoset up working just fine until, for some reason unknown to me, InnoScript stopped work. I used my registration info to get Innoscript Version 9 which is what I am using. I don't have a clue what the CODE means and what I have done to cause it. Should I start over and make a new Innoscritp file? I have three important programs that worked fine before I lost innoscript 7 something.
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 14, 2008, 03:07:18 PM
It would be best to start with a clean project file. Many changes have gone into the later version that you may have missed.
 
Main Screen Since we are conversing about InnoScript I failed to mention it. But InnoScript's main screen. There are selection that are made there . I would need to know what they are.
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 14, 2008, 11:07:31 PM
How do I start with a new file? Do I just use another name for the output (assume I do). I am so, so frustrated at this points. I do hope you or someone can figure out why I cannot produce a workable installation .exe.
 
Do I need to install the InnoScript Upgrade or is the version I am using already have that built in?
 
I hope this attachment works for you.
 
I am still trying to figure why the Default Directory is using the Randem address on the C drive rather than the folder I specified in the Settings.
 
I am still getting this pink code when using Innoscript:
 
[Code]
function GetAppFolder(Param: String): String;
begin
  if InstallOnThisVersion('0,6', '0,0') = irInstall then
    Result := 'C:\Users\Public\'   ExpandConstant('{username}')  
  else
    Result := ExpandConstant('{pf}');
end;
 
What does this mean? And I assume that I SHOULD NOT be using InnoSetup with this file, correct? If so, what do I do? I really, really, need to have the installation .exe. so I can put an upgrade to my program on the client's new PC, which is using the XP OS.
 
(Message edited by wiseoldman on May 14, 2008)
 
(Message edited by wiseoldman on May 14, 2008)
 
(Message edited by wiseoldman on May 14, 2008)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 14, 2008, 11:23:37 PM
Look at this file. You have some slashes in the file that really should be backslashes. This could cause several problems.
 
let me know what this file does...
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 14, 2008, 11:30:15 PM
I found and changed several / to . Ran Innoscript and still got the pink code:
 
[Code]
function GetAppFolder(Param: String): String;
begin
  if InstallOnThisVersion('0,6', '0,0') = irInstall then
    Result := 'C:UsersPublic'   ExpandConstant('{username}')  
  else
    Result := ExpandConstant('{pf}');
end;  
 
will this cause the InnoSetup to produce a bad .exe?
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 14, 2008, 11:32:10 PM
Did you try the file I posted????
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 14, 2008, 11:35:47 PM
Also edit the Beta.tpl file and delete everything in it, that is where the DefaultDirName change is coming from.
 
You can edit it by going to the templates tab and double clicking on it.
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 12:05:50 AM
Where is this template file that I am suppose to edit and delete? I don't see any Tab in Innoscript to access this as you told me.
 
I don't know what happened (
 
I just posted reply with the files I am working with and it is not there! Frustrating ... will try again. Thes are my files:
 
 
 
necessary .txt file
Using Dogfight Manager.txt (https://randemsystems.support/index.php?topic=1.0) (13.0 k)

,pjt file
Dogfight Manager 8-6 XP.pjt (https://randemsystems.support/index.php?topic=1.0) (1.8 k)

And finally, why is Innoscript showing this in the list of previous files?
 
 
 
I hope and hope that you, once again, can help me.
 
(Message edited by wiseoldman on May 15, 2008)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:06:56 AM
Are you running version 9.0.4 or 9.0.6? You should have the automatic update turned on and receive the latest update.
 
How is the file I posted working along with the removal of the data from the Beta.tpl file?
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 12:09:00 AM
I have 9.0 build 4. How to you turn on automatic updates?
 
I am suppose to use innoscript on the .pjt file you sent me? I will try it now.
 
I don't know how to SAVE the test.pjt as I open it and it have an extension of .unk, not .pjt. What do I do? Change my name to massive frustration ...
 
Do I save it as a .txt file and then change the extension? I am very sorry that I am so God-Damn stupid I can't figure this out.
 
(Message edited by wiseoldman on May 15, 2008)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:15:11 AM
The Templates Tab...
 
https://randemsystems.com/TemplatesTab.JPG (https://randemsystems.com/TemplatesTab.JPG)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:17:51 AM
To get Automatic Updates...
 
On the menu at the top of the screen Select and make  it checked.
 
Settings->Check For Updates When Starting
 
And yes, you were supposed to use the file I posted like I asked...
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 12:21:52 AM
The automatic updates is CHECKED. So why don't I have your version 6?
 
I am getting overloaded with things to do. Let's just  
 
(1) get this deleting/editing over with and solve the [CODE] problem ... whatever ... one thing at a time ... overload... overload
 
(2) how to use your .pjt file ... I open it and it has a strange file extension of .unk. So (a) how to get it to .pjt and (b) then I just run in in Innoscript?
 
How do I do this:
 
Also edit the Beta.tpl file and delete everything in it, that is where the DefaultDirName change is coming from.
 
Where is the Beta.tpl file? do I use WORDPAD to edit it? and why edit the file if I will be deleting it?
 
I am not a power-user of Innoscript. I know zip about it. I used the version 7 and things worked just great. now the whole process is getting beyound me. why am i having so much trouble to do such a simple thing?
 
And what about all those strange previous files that appear under FILE?
 
(Message edited by wiseoldman on May 15, 2008)
 
(Message edited by wiseoldman on May 15, 2008)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:26:59 AM
First you must follow my direction and not skip over them. I did give you the exact instructions to edit the Beta.tpl file.
 
I will re-iterate:
 
Click on the Templates Tab (the tab I circled in the picture). You will see the template files that the project uses. Doubleclick on the line where the file Beta.tpl is. Notepad will open with the contents of the file. Delete the contents and close notepad. Answer yes to it saving the file.
 
If you open the test.pjt file just cut and past the contents into a file with the extension of pjt.
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:30:33 AM
Here is the test.pjt file zipped...
 
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:34:03 AM
The automatic updates is CHECKED. So why don't I have your version 6?
 
When you started InnoScript it should have checked for the update and all you would need to do is answer YES and then click on the OK buttons.
 
If you don't see the update screen, you can go to the website or download it from this support forum .
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 12:35:33 AM
I save test as test.pjt. I ran Innoscript and opened that file. Everything is blank
 
VB Runtime ...
Visual Basic Project ...
Innoscript Setup Script Output ...
 
 
 
I see all my Files but now what do I do?(https://randemsystems.support/discus/messages/12/8923.gif)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:37:15 AM
It should not be that way but just re-select the input and output files...
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:45:52 AM
Make sure you update to 9.0.6 so we see the same results...
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 12:48:17 AM
Ok, the tst.pjt works and there is no PINK [CODE]. But, what did you change to make it work? If I know that then I should be able to figure out how to change the .pjt attached below.
 
I will run innosetup and see what happens.
 
Next problem ....
 
I have another file I really need to get working. Here is the .pjt file. CAn you get it to run in innoscript without the pink [CODE] comeing up? and is the pink [CODE] a problem that will cause the installation .exe fail?
 
 
 
The two files it needs:
 
program
Dogfight Manager.exe (https://randemsystems.support/index.php?topic=1.0) (2101.2 k)
small text file
Using Dogfight Manager.txt (https://randemsystems.support/index.php?topic=1.0) (13.0 k)

I appreciate you help greatly. I have been up since 5AM (it is 6:46AM now) here in South Carolina trying to resolve this problem.
 
(Message edited by wiseoldman on May 15, 2008)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:52:06 AM
Didn't you read my DETAILED instructions about the Pink Code???? If you fix it it will not show again....
 
It is 12:51am here...
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 12:54:29 AM
I looked at your project file and you also have / instead of  in the file names. I don't see how this worked in the first place...
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 01:01:04 AM
I did use the template and removed the beta.tmp (or whatever you told me). But it is in your test.pjt file in innoscript. I am totally confused now. And I am sorry you are up so late trying to help me.
 
I am going to my golf course that uses this program and try to work-around the problem until I can get the .pjt and .iss files working. i will be back shortly and keep trying to understand and follow your directions  
 
 
Strange things still happening ...
 
I made a copy of your test.pjt and named it CourseRatingSystem. Both files are in a folder named temp.
 
I ran text.pjt and there was no pink [CODE].
I ran CourseRatingSystem.pjt (an exact copy of test.pjt) and I ge the pink [CODE].
 
How is this possible?
Here they are:
 
 
 
copied and renamed to CourseRatingSystem
CourseRatingSystem.pjt (https://randemsystems.support/index.php?topic=1.0) (3.3 k)

What I am doing wrong now???
 
(Message edited by wiseoldman on May 15, 2008)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 01:03:27 AM
Did you edit the Beta.tpl file and delete the contents?
 
Did you de-select the Vista.tpl file?
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 01:05:41 AM
De-select as in no check mark in the box on the line where Vista.tpl is...
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 01:19:56 AM
Yes now I have all the templates DE-SELECTED and innoscript produced an iss file with NO PINK [CODE] with my file or your test.
 
However, InnoSetup gives me the message:
 
Warning: Unsafe usage on file dogfight manager.exe: The ignoreversion flag should not be used on file installed to Windows System Directory.
 
I am not trying to install to the Window System Directory. What could be causing this?
I have to get to the course now... I will be back in an hour or so and continue trying to understand what to do.
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 01:21:17 AM
Post your script...
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 03:51:54 AM
The .pjt file:
 
 
 
the .iss file :
 
.iss file for above .pjt file
Dogfight Manager 8-6 XP Beta.iss (https://randemsystems.support/index.php?topic=1.0) (4.2 k)

To a novice like me I can't see the error. To a professional like you it will be obvious.
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 11:11:55 AM
I see two things:
 
Source: c:dogfight managerdogfight manager.exe; DestDir: {sys}; Flags:  restartreplace ignoreversion;  
 
should be
 
Source: c:dogfight managerdogfight manager.exe; DestDir: {app}; Flags:  restartreplace ignoreversion;  
 
 
and
 
C:/Dogfight Manager/Dogfight Manager 8-6 XP Beta.iss
 
should be
 
C:Dogfight ManagerDogfight Manager 8-6 XP Beta.iss
 
You must be typing thing in and that will work against you most every time. Use the browse button next to each item that will allow you to search the disk for the file you want.
 
Please zip and post your exe and vbp file... I will take a look.
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 11:13:36 AM
By the way you are missing all of your text files in this script probably as well as a few other things...
 
You are getting the exe deployed to the system file because you are adding it in the Add Files tab. It isn't meant to be used that way. You should take some time to view the documentation...
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 15, 2008, 02:18:53 PM
My error  
 
I got the program with all the .txt file to run correctly. It was, and is, my dogfight manager program that was the main problem, i.e. the one I absolutley had to get done. This program only uses one .txt file. I am sorry I messed you up with the switch in programs.
 
I followed you instructs to the letter and I now have the complete installation .exe. I tested it on my PC by renaming the c:\dogfight manager\ to c:\dogfight manager1, ran the .exe and everything worked, i.e. the folder was created, the .exe and .txt file were there. So I copied the Boscobel .txt file into the folder, ran the program and everything seemed ok.
 
Here is the zip file of the files you requested.
 
file.
 
Included are the other files that the program needs for the Boscobel course. Just thought you might wish to see how it works even if you don't understand the golf dogfight concept.
 
I try not to type in either the .pjt or .iss files. However, I must admit that a few days ago when innoscirpt blew up I was absolutely desperate I did go into the .iss file and change somethings. But, when I finally got innoscript working again I didn't touch those.
 
I was in the panic mode as people were counting on my program to work as it saves them about 1.5-2 hours/day in handwritten intensive work. With my program they can do the same task in 10 minutes.
 
I really, really appreciate your cutting me some slack during this crisis time for me. I was hard to get back into working with innoscript as I hadn't done anything with it other than just run previous files. To start over again I had to re-learn how to use it. I forgot that the program.exe doesn't go in the ADD FILES, stupid error on my part. But, when something has been working for months and months my mind deletes how I did it in the first place. Only so many RAM in this old head I guess.
 
I will go over the innoscript instructions once more. But, as I recall from the previous version I had, the instruction were a bit over my head, explained too much whereas all I need are the very basics to get the script for innosetup. I have that now but I will read the instructions once more (I may have to skip over some parts that involve severe tweeking of innoscript.
 
P.S I don't understand the Administrative part, i.e. where in innosetup there is PrivilegesRequired=Admin.  
 
(Message edited by wiseoldman on May 15, 2008)
 
(Message edited by wiseoldman on May 15, 2008)
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 15, 2008, 08:05:41 PM
Ok, I used your files and this is what I come up with.
 
; InnoScript Version 9.0  Build 6
; Randem Systems, Inc.
; Copyright 2003-2008
; Website:  https://randemsystems.com (https://randemsystems.com)
; Support:  https://randemsystems.support (https://randemsystems.support)
; OS: Windows XP 5.1 build 2600 (Service Pack 3)
 
; Date: May 15, 2008
 
;              VB Runtime Files Folder:   C:\Program Files\Randem Systems\InnoScript\InnoScript 9\VB 6 Redist Files\
;     Visual Basic Project File (.vbp):   C:\Temp\wiseoldman\dogfightmanager-8948\Dogfight Manager.vbp
; Inno Setup Script Output File (.iss):   C:\Temp\wiseoldman\dogfightmanager-8948\Dogfight Manager Release.iss
;         Script Template Files (.tpl):   C:\Documents and Settings\Ralph James\Local Settings\Application Data\Randem Systems\innoscript\Templates\Release.tpl
 
; ------------------------
;        References
; ------------------------
 
; Visual Basic For Applications - (MSVBVM60.DLL)
; OLE Automation - (STDOLE2.TLB)
 
 
; --------------------------
;        Components
; --------------------------
 
 
 
[Setup]
AppId=Dogfight_Manager  
 
;------------------------------------------------------------------------------------------------------------------------
; Taken from VBP/VBG Project File Parameters AppName, AppName AppVersion and Company
;------------------------------------------------------------------------------------------------------------------------
 
AppName=Dogfight_Manager 8.6.0  
AppVerName=Dogfight_Manager  
AppPublisher=Dave Thomson
 
;------------------------------------------------------------------------------------------------------------------------
 
AppVersion=8.6.0
VersionInfoVersion=8.6.0
AllowNoIcons=no
DefaultGroupName=Dogfight Manager  
DefaultDirName={pf}\Dogfight Manager
AppCopyright=Copyright 2008 By Dave Thomson
PrivilegesRequired=Admin
MinVersion=4.0,4.0sp6
Compression=lzma
OutputBaseFilename=Dogfight Manager860Release
 
[Tasks]
 
[Files]
Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\msvbvm60.dll; DestDir: {sys}; Flags:  uninsneveruninstall regserver restartreplace sharedfile; OnlyBelowVersion: 0,6
Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\oleaut32.dll; DestDir: {sys}; Flags:  uninsneveruninstall; OnlyBelowVersion: 0,6
Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\olepro32.dll; DestDir: {sys}; Flags:  uninsneveruninstall regserver restartreplace sharedfile; OnlyBelowVersion: 0,6
Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\asycfilt.dll; DestDir: {sys}; Flags:  uninsneveruninstall; OnlyBelowVersion: 0,6
Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\stdole2.tlb; DestDir: {sys}; Flags:  uninsneveruninstall restartreplace regtypelib; OnlyBelowVersion: 0,6
Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\comcat.dll; DestDir: {sys}; Flags:  uninsneveruninstall; OnlyBelowVersion: 0,6
Source: c:\program files\randem systems\innoscript\innoscript 9\vb 6 redist files\vb5db.dll; DestDir: {sys}; Flags:  uninsneveruninstall; OnlyBelowVersion: 0,6
Source: c:\temp\wiseoldman\dogfightmanager-8948\boscobeldogfight.txt; DestDir: {localappdata}\dave thomson\dogfight_manager\; Flags:  ignoreversion;  
Source: c:\temp\wiseoldman\dogfightmanager-8948\boscobeldogfightarchive.txt; DestDir: {localappdata}\dave thomson\dogfight_manager\; Flags:  ignoreversion;  
Source: c:\temp\wiseoldman\dogfightmanager-8948\boscobeldogfightpayoutschedule1.txt; DestDir: {localappdata}\dave thomson\dogfight_manager\; Flags:  ignoreversion;  
Source: c:\temp\wiseoldman\dogfightmanager-8948\using dogfight manager.txt; DestDir: {localappdata}\dave thomson\dogfight_manager\; Flags:  ignoreversion;  
Source: c:\temp\wiseoldman\dogfightmanager-8948\dogfight manager.exe; DestDir: {app}; Flags:  restartreplace ignoreversion;  
 
[INI]
Filename: {app}\Dogfight Manager.url; Section: InternetShortcut; Key: URL; String:  
 
[Icons]
Name: {group}\Dogfight_Manager ; Filename : {app}\Dogfight Manager.exe; WorkingDir: {app}
Name: {group}{cm:ProgramOnTheWeb, Dogfight_Manager }; Filename: {app}\Dogfight Manager.url; IconFilename: {app}\Dogfight_Manager.ico
Name: {group}{cm:UninstallProgram, Dogfight_Manager }; Filename: {uninstallexe}
 
[Run]
Filename: {app}\Dogfight Manager.exe; Description: {cm:LaunchProgram, Dogfight_Manager }; Flags: nowait postinstall skipifsilent; WorkingDir: {app}
 
[Dirs]
Name: {localappdata}\Dave Thomson; Flags: uninsalwaysuninstall;
Name: {localappdata}\Dave Thomson\Dogfight Manager; Flags: uninsalwaysuninstall;
 
[UninstallDelete]
Type: files; Name: {app}\Dogfight Manager.url
Type: dirifempty; Name: {app}
Type: dirifempty; Name: {localappdata}
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 16, 2008, 12:09:17 AM
Interesting. Most things are the same as what I get out of Innosetup. For example, I see you output says Build 6. Mine says, Build 4. Mine has Beta after the program name, AppId=Dogfight_Manager Beta and your has AppId=Dogfight_Manager. I must have change something since I sent you the files. You have MinVersion=4.0,4.0sp6 and I have MinVersion=4.1,5.01
 
And then there is this difference:
 
Yours:
[UninstallDelete]  
Type: files; Name: {app}\Dogfight Manager.url  
Type: dirifempty; Name: {app}  
Type: dirifempty; Name: {localappdata}
 
Mine:
 
[UninstallDelete]
Type: dirifempty; Name: {app}
Type: dirifempty; Name: {userappdata}
 
If you have time I would appreciate an explanatdion of these differences. Really not a big deal as my script works and the program is easily installed  
 
Once again, many, many thanks for taking the time and effort to address my problems. I appreciate your patience with my lack of knowledge.
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 16, 2008, 12:15:52 AM
1 - You have not updated to version 6 yet (Please do).
 
2 - I started with a new project and added everything in.
 
3 - a change in the update changes {userappdata} to {localappdata}
 
4 - Beta is what you have chosen for your app. I chose Release
 
5 - MinVersion I chose different than you.
 
Please visit the InnoScript History page in the forum for other changes.
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 16, 2008, 12:28:29 AM
Check For Updates When Starting is checked. I assumed that I didn't have to do anything else. So, what do I do to get the updates? Go to your site, download and isntalled the lastest update?
 
Ok, thanks you. I understand what is going on. I will update as soon as you let me know which method I should use.
 
It must be early in the AM where you are, which by the way, is where?
Title: Function GetAppFolder(Param: String): String;
Post by: Randem on May 16, 2008, 12:31:37 AM
Yes, If Updates are not running things must be confused with the old version. Downloading the latest Update should fix it.
 
BTW: I am in Hawaii on the island of Maui. It is 12:32am...
Title: Function GetAppFolder(Param: String): String;
Post by: davethomson on May 16, 2008, 12:42:07 AM
Running to update now. Thank you.
 
Hawaii! I think you told me that early last year. Hard to remember so long ago  
 
You must be a night-owl. I am an early-bird.
 
Many thanks again for all your great help.