O$6.1 64bit, Very Nasty (WAS: Re: O$5: How to open an Explorer window)

Mike Matthews omnis at lineal.co.uk
Wed Jan 21 16:07:52 EST 2015


Hello All,

There are some very clever Windows user on our list, and I'm hoping that there is an easy answer coming. This topic has come up on the StudioWorks developers group list by the way.

With the Windows 64bit version of Studio v6.1, we have lost some useful commands.  We can no longer use the register DLL and Call DLL commands with this 64 bit version, notice of which sadly missed being in the manual.  TL are aware of the issue, and it is a situation beyond their control currently due to MS doing some stuff which I lists at the end.  There is a fault log for it ST/DC/588, but this might be a fault log for the documentation rather than the issue itself of course.

Various workarounds should be available hopefully, but how do you write a C++ wrapper as Chris at TL indicated?

If you stick to the 32 bit version, then there is no problem, but I expect this to valid for the 64 bit runtimes though.  And of course, no problem for OSX users, as all of this is gibberish.

Thanks

Mike


Mike Matthews,
 Managing Director, SQLWorks Software Ltd

Tel: +44 (0)1271 375999

Email: mike.matthews at sqlworks.co.uk

Web: www.sqlworks.co.uk

SQLWorks replaces Sage, ACT!, Opera, Access, SAP





> 
>> Regarding 64 bit Omnis Studio 6.1 on Windows.  As per the below conversation with Tiger Logic, external DLL calls will not likely be supported in the 64 bit version of Omnis Studio.  Studio Works currently uses the DLL calls below to find the system defined folders in Windows (Desktop, Documents, Application Data, etc).  Do any of you know of an already made solution for this?
>> 
>> 
>> Josh Luchies
>>  


>> ---------- Forwarded message ----------
>> From: *us support* <us.support at tigerlogic.com <mailto:us.support at tigerlogic.com>>
>> Date: Tue, Dec 30, 2014 at 9:05 AM
>> Subject: Re: Windows 64 bit Omnis 6.1 Case CA05956
>> To: Josh Luchies <josh.luchies at royalhomes.com <mailto:josh.luchies at royalhomes.com>>
>> 
>> 
>> Josh,
>> 
>> Your right, these (legacy) commands are not supported in the 64 bit version of Omnis Studio 6.1.
>> This was raised as Fault ST/DC/588 - Legacy external commands: Register DLL and Call DLL, should be documented as only supported in 32 bit versions.
>> 
>> Unfortunately, this never made the Readme, nor the Install text files.
>> 
>> At present, we are not sure as to what or even if these commands are going to be replace with.
>> We will chase this and let you know.



>> -------- Forwarded Message --------
>> Subject:     Fwd: Windows 64 bit Omnis 6.1 Case CA05956
>> Date:     Tue, 30 Dec 2014 09:26:18 +0000
>> From:     us support <us.support at tigerlogic.com>
>> To:     Josh Luchies <josh.luchies at royalhomes.com>
>> 
>> 
>> 
>> Josh,
>> 
>> An update on this matter from Engineering....
>> 
>> This is unlikely to be supported in the 64bit version, since our 32 bit implementation relies on inline assembler support provided in Visual Studio, and that feature is not available for 64 bit (see http://msdn.microsoft.com/en-us/library/4ks26t93(v=vs.120).aspx <http://msdn.microsoft.com/en-us/library/4ks26t93%28v=vs.120%29.aspx>).
>> The only work-around for the clients is is to write a C++ external component to carry out the API calls that they require.
>> 
>> Thanks and regards
>> 
>> *Chris Stevens****–  Development Support*
>> 













On 21 Jan 2015, at 17:58, Gary Connor <gary_connor at directline-tech.com> wrote:

> Note that if you are running a unicode version of Studio the ShellExecuteA should be changed to ShellExecuteW.
> 
> 
> Gary Connor, Ph.D., CIO
> DirectLine Technologies, Inc.
> 1600 N Carpenter Rd  Ste D
> Modesto, CA 95351
> 
> 
> 
> 
> |-----Original Message-----
> |From: omnisdev-en-bounces at lists.omnis-dev.com [mailto:omnisdev-en-
> |bounces at lists.omnis-dev.com] On Behalf Of Rudolf Bargholz
> |Sent: Wednesday, January 21, 2015 9:47 AM
> |To: OmnisDev List - English
> |Subject: AW: O$5: How to open an Explorer window
> |
> |Hi Mike,
> |
> |The following will open the explorer in the given directory of a file, selecting
> |the appropriate file in the Windows Explorer.
> |
> |Register DLL ("Shell32.dll","ShellExecuteA","JJCCCCJ")
> |Call DLL
> |("Shell32.dll","ShellExecuteA",0,"#NULL#",'explorer.exe',con('/select,',lPath),'
> |#NULL#',1)
> |
> |where lPath is the full path to a specific file.
> |
> |The following will open a specified directory:
> |
> |Register DLL ("Shell32.dll","ShellExecuteA","JJCCCCJ")
> |Call DLL ("Shell32.dll","ShellExecuteA",0,"#NULL#",'explorer.exe',
> |lDirectory,'#NULL#',1)
> |
> |Regards
> |
> |Rudolf Bargholz
> |
> |-----Ursprüngliche Nachricht-----
> |Von: omnisdev-en-bounces at lists.omnis-dev.com [mailto:omnisdev-en-
> |bounces at lists.omnis-dev.com] Im Auftrag von Mike Matthews
> |Gesendet: Mittwoch, 21. Januar 2015 18:03
> |An: OmnisDev List - English
> |Betreff: O$5: How to open an Explorer window
> |
> |Hello All,
> |
> |I an using the FilesList component to show a list of files/folders in a directory.
> |It hasn't been used/updated by TL for decades, but it works ok for me. The
> |plus side is it shows the file icon, rather than using a tree and FileOps and not
> |having the icon thumbnails.
> |
> |I am giving the user the option to open a folder on his desktop, so he can get
> |at the files directly.
> |
> |On OSX I use an applescript:
> |Text: tell application "Finder" (Carriage return)
> |Text: open folder "[lvPath]" (Carriage return)
> |Text: end tell (Carriage return)
> |
> |What can I use for Windows please to open a folder in Windows Explorer
> |please from within Studio?
> |
> |Thanks
> |
> |Mike
> |
> |
> |
> |
> |Mike Matthews,
> Managing Director, SQLWorks Software Ltd
> |
> |Tel: +44 (0)1271 375999
> |
> |Email: mike.matthews at sqlworks.co.uk
> |
> |Web: www.sqlworks.co.uk
> |
> |SQLWorks replaces Sage, ACT!, Opera, Access, SAP
> |
> |
> |___________________________________________________________
> |__
> |Manage your list subscriptions at http://lists.omnis-dev.com
> _____________________________________________________________
> Manage your list subscriptions at http://lists.omnis-dev.com





More information about the omnisdev-en mailing list