News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Common Item Dialog

Started by TouEnMasm, July 21, 2020, 06:35:12 PM

Previous topic - Next topic

TouEnMasm

Hello,
This one is a translate of:
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/bb776913(v=vs.85)?redirectedfrom=MSDN
He provide the needed material to do it,that is:
the translated ShObjidl_core.h with ALL IID and CLSID in shobjGUID.inc
The GUID ha been extract of the ShObjidl_core.idl with midl.
I suffer,a little,to pass it in 64 bits,help welcome.
Fa is a musical note to play with CL

jj2007

 :sad:
*** Assemble using UAsm64  ***
Tmp_File.asm(5) : Error A2106: Cannot open file: "sdk32.inc" [ENOENT]
Tmp_File.asm(6) : Error A2106: Cannot open file: "stdio.sdk" [ENOENT]
Tmp_File.asm(7) : Error A2106: Cannot open file: "stdlib.sdk" [ENOENT]
shobjGUID.inc(25) : Error A2102: Symbol not defined : DEFALIGNMASM
shobjGUID.inc(25): Included by
  Tmp_File.asm(8): Main line code
Tmp_File.asm(9) : Error A2106: Cannot open file: "shobjidl.sdk" [ENOENT]
Filedialog.inc(9) : Error A2210: Syntax error: CLSID_FileOpenDialog
Filedialog.inc(9): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(10) : Error A2210: Syntax error: IID_IFileOpenDialog
Filedialog.inc(10): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(11) : Error A2210: Syntax error: IID_IFileDialog
Filedialog.inc(11): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(12) : Error A2210: Syntax error: CLSID_KnownFolderManager
Filedialog.inc(12): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(13) : Error A2210: Syntax error: IID_IKnownFolderManager
Filedialog.inc(13): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(14) : Error A2210: Syntax error: IID_IShellItem
Filedialog.inc(14): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(15) : Error A2210: Syntax error: IID_IKnownFolder
Filedialog.inc(15): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(17) : Error A2082: Must be in segment block
Filedialog.inc(17): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(18) : Error A2082: Must be in segment block
Filedialog.inc(18): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(19) : Error A2082: Must be in segment block
Filedialog.inc(19): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(20) : Error A2082: Must be in segment block
Filedialog.inc(20): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(21) : Error A2082: Must be in segment block
Filedialog.inc(21): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(23) : Error A2210: Syntax error: FOLDERID_PublicMusic
Filedialog.inc(23): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(28) : Error A2082: Must be in segment block
Filedialog.inc(28): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(29) : Error A2092: PROC, MACRO or macro loop directive must precede LOCAL
Filedialog.inc(29): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(30) : Error A2082: Must be in segment block
Filedialog.inc(30): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(34) : Error A2160: INVOKE requires prototype for procedure
Filedialog.inc(34): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(35) : Error A2030: Instruction or register not accepted in current CPU mode
Filedialog.inc(35): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(39) : Error A2160: INVOKE requires prototype for procedure
Filedialog.inc(39): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(40) : Error A2030: Instruction or register not accepted in current CPU mode
Filedialog.inc(40): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(43) : Error A2210: Syntax error: IKnownFolderManager
Filedialog.inc(43): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(44) : Error A2030: Instruction or register not accepted in current CPU mode
Filedialog.inc(44): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(48) : Error A2210: Syntax error: IKnownFolder
Filedialog.inc(48): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(49) : Error A2030: Instruction or register not accepted in current CPU mode
Filedialog.inc(49): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(51) : Error A2210: Syntax error: IFileDialog
Filedialog.inc(51): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(52) : Error A2030: Instruction or register not accepted in current CPU mode
Filedialog.inc(52): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(54) : Error A2210: Syntax error: IFileDialog
Filedialog.inc(54): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(55) : Error A2030: Instruction or register not accepted in current CPU mode
Filedialog.inc(55): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(60) : Error A2082: Must be in segment block
Filedialog.inc(60): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(61) : Error A2082: Must be in segment block
Filedialog.inc(61): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(62) : Error A2210: Syntax error: IShellItem
Filedialog.inc(62): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(63) : Error A2082: Must be in segment block
Filedialog.inc(63): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(64) : Error A2210: Syntax error: IKnownFolder
Filedialog.inc(64): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(65) : Error A2082: Must be in segment block
Filedialog.inc(65): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(66) : Error A2210: Syntax error: IKnownFolderManager
Filedialog.inc(66): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(67) : Error A2082: Must be in segment block
Filedialog.inc(67): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(68) : Error A2210: Syntax error: IFileDialog
Filedialog.inc(68): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(69) : Error A2082: Must be in segment block
Filedialog.inc(69): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(72) : Error A2082: Must be in segment block
Filedialog.inc(72): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(73) : Error A2082: Must be in segment block
Filedialog.inc(73): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(74) : Error A2082: Must be in segment block
Filedialog.inc(74): Included by
  Tmp_File.asm(10): Main line code
Filedialog.inc(75) : Error A2142: Unmatched block nesting: AddItemsToCommonPlaces
Filedialog.inc(75): Included by
  Tmp_File.asm(10): Main line code
ShObjidl_core.sdk(113) : Error A2151: Missing operator in expression
ShObjidl_core.sdk(113): Included by
  Tmp_File.asm(13): Main line code
ShObjidl_core.sdk(116) : Error A2151: Missing operator in expression
ShObjidl_core.sdk(116): Included by
  Tmp_File.asm(13): Main line code
ShObjidl_core.sdk(120) : Error A2151: Missing operator in expression
ShObjidl_core.sdk(120): Included by
  Tmp_File.asm(13): Main line code
ShObjidl_core.sdk(166) : Error A2151: Missing operator in expression
ShObjidl_core.sdk(166): Included by
  Tmp_File.asm(13): Main line code
ShObjidl_core.sdk(166) : Fatal error A1113: Too many errors

TouEnMasm

What you need is here :http://luce.yves.pagesperso-orange.fr/header.htm
If you want it in italian language,the left button with  "TRANSLATION" is here to made It.
Click on the link showing "SDK 10.0" in the middle and upper part of the page.
If you don't found it,tell me!?
Fa is a musical note to play with CL

TouEnMasm


This one is in 64  bits
It had been a battle with the headers ans uasm to get it,see the only one file in it
Fa is a musical note to play with CL

TouEnMasm

There is two methods,Ifolder,Openfilename,here the result in images.
The Ifolder one need also the implementation of an interface (if you want),Have a look to see the differences.

Fa is a musical note to play with CL

TouEnMasm

Hello,
This X64 one is fully functionnal.
There is the Ifolder and implementation of IFileDialogEvents
To recompile it you need http://luce.yves.pagesperso-orange.fr/header.htm
Corrections had been made  about the X64 COM part.
Hope he can be reusable.
the ShObjidl_core.sdk is a new file translated,there is also all the needed GUID in text,prefered is the UUID.lib
Fa is a musical note to play with CL