summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2013-03-01 16:51:48 +0000
committerGeorge Hazan <george.hazan@gmail.com>2013-03-01 16:51:48 +0000
commit779136b83154801010b848fadc2fce4011ecd16d (patch)
tree1ff4931ece25817b3b1518d93532c05298287588
parent15858ed4002eabbe921dc56c8bbfbf7a639c48cb (diff)
minor optimization for pascal
git-svn-id: http://svn.miranda-ng.org/main/trunk@3821 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r--plugins/ImportTXT/FileDlgs.pas2
-rw-r--r--plugins/Libs/KOLEdb.pas8
-rw-r--r--plugins/Utils.pas/mComObj.pas209
-rw-r--r--plugins/Utils.pas/shlobj.pp186
-rw-r--r--plugins/Watrack/watrack.dpr6
5 files changed, 308 insertions, 103 deletions
diff --git a/plugins/ImportTXT/FileDlgs.pas b/plugins/ImportTXT/FileDlgs.pas
index e05edf5fb5..970c005334 100644
--- a/plugins/ImportTXT/FileDlgs.pas
+++ b/plugins/ImportTXT/FileDlgs.pas
@@ -9,7 +9,7 @@ function FolderDialogExecute(hdlg:HWND; var nFO:integer; const DefExt:string):Wi
implementation
-uses shlobj, activex, SysUtils, CommDlg;
+uses ActiveX, ShlObj, SysUtils, CommDlg;
function OpenDialogExecute(hDlg:hWnd; flg:cardinal; var nFO:integer; const DefExt:string):WideString; //Диалог открытия файла
var
diff --git a/plugins/Libs/KOLEdb.pas b/plugins/Libs/KOLEdb.pas
index 53357ab44f..3a1916965b 100644
--- a/plugins/Libs/KOLEdb.pas
+++ b/plugins/Libs/KOLEdb.pas
@@ -11,7 +11,7 @@ unit KOLEdb;
interface
-uses Windows, ActiveX, KOL;
+uses Windows, mComObj, KOL;
type
INT64 = I64;
@@ -29,7 +29,7 @@ type
3: ( fltVal : Extended );
4: ( dblVal : Double );
5: ( boolVal : Bool );
- 6: ( scode : SCODE );
+ //6: ( scode : SCODE );
//7: ( cyVal : CY );
//8: ( date : Date );
9: ( bstrVal : Pointer ); // BSTR => [ Len: Integer; array[ 1..Len ] of WideChar ]
@@ -212,7 +212,7 @@ type
riid: TIID; var DataSource: IUnknown): HResult; stdcall;
function CreateDBInstanceEx(const clsidProvider: TGUID;
const pUnkOuter: IUnknown; dwClsCtx: DWORD; pwszReserved: POleStr;
- pServerInfo: PCoServerInfo; cmq: ULONG; rgmqResults: PMultiQI): HResult; stdcall;
+ pServerInfo: PCoServerInfo; cmq: ULONG; rgmqResults: Pointer): HResult; stdcall;
function LoadStringFromStorage(pwszFileName: POleStr;
out pwszInitializationString: POleStr): HResult; stdcall;
function WriteStringToStorage(pwszFileName, pwszInitializationString: POleStr;
@@ -481,7 +481,7 @@ type
PDBColumnInfo = ^TDBColumnInfo;
DBCOLUMNINFO = packed record
pwszName: PWideChar;
- pTypeInfo: ITypeInfo;
+ pTypeInfo: Pointer;
iOrdinal: UINT;
dwFlags: DBCOLUMNFLAGS;
ulColumnSize: UINT;
diff --git a/plugins/Utils.pas/mComObj.pas b/plugins/Utils.pas/mComObj.pas
new file mode 100644
index 0000000000..9b435ebc5c
--- /dev/null
+++ b/plugins/Utils.pas/mComObj.pas
@@ -0,0 +1,209 @@
+{
+ This file is part of the Free Pascal run time library.
+ Copyright (c) 2006 by Florian Klaempfl
+ member of the Free Pascal development team.
+
+ See the file COPYING.FPC, included in this distribution,
+ for details about the copyright.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+{$mode objfpc}
+{$H+}
+{$inline on}
+unit mcomobj;
+
+ interface
+
+{ $define DEBUG_COM}
+
+ uses
+ Windows,Sysutils,classes;
+
+ const
+ CLSCTX_INPROC_SERVER = $0001; // server dll (runs in same process as caller)
+ CLSCTX_INPROC_HANDLER = $0002; // handler dll (runs in same process as caller)
+ CLSCTX_LOCAL_SERVER = $0004; // server exe (runs on same machine; diff proc)
+ CLSCTX_INPROC_SERVER16 = $0008; // 16-bit server dll (runs in same process as caller)
+ CLSCTX_REMOTE_SERVER = $0010; // remote server exe (runs on different machine)
+ CLSCTX_INPROC_HANDLER16 = $0020; // 16-bit handler dll (runs in same process as caller)
+ CLSCTX_INPROC_SERVERX86 = $0040; // Wx86 server dll (runs in same process as caller)
+ CLSCTX_INPROC_HANDLERX86 = $0080; // Wx86 handler dll (runs in same process as caller)
+ CLSCTX_ESERVER_HANDLER = $0100; // handler dll (runs in the server process)
+ CLSCTX_RESERVED =$0200; // reserved
+ CLSCTX_NO_CODE_DOWNLOAD = $0400; // disallow code download from the Directory Service (if any) or the internet -rahulth
+ CLSCTX_NO_WX86_TRANSLATION = $0800;
+ CLSCTX_NO_CUSTOM_MARSHAL = $1000;
+ CLSCTX_ENABLE_CODE_DOWNLOAD = $2000; // allow code download from the Directory Service (if any) or the internet
+ CLSCTX_NO_FAILURE_LOG = $04000; // do not log messages about activation failure (should one occur) to Event Log
+ CLSCTX_DISABLE_AAA = $08000; // Disable EOAC_DISABLE_AAA capability for this activation only
+ CLSCTX_ENABLE_AAA = $10000; // Enable EOAC_DISABLE_AAA capability for this activation only
+ CLSCTX_FROM_DEFAULT_CONTEXT = $20000; // Begin this activation from the default context of the current apartment
+ CLSCTX_INPROC = (CLSCTX_INPROC_SERVER OR CLSCTX_INPROC_HANDLER);
+ CLSCTX_ALL = (CLSCTX_INPROC_SERVER OR CLSCTX_INPROC_HANDLER OR CLSCTX_LOCAL_SERVER {$ifdef Remote} OR CLSCTX_REMOTE_SERVER {$endif});
+ CLSCTX_SERVER = (CLSCTX_INPROC_SERVER OR CLSCTX_LOCAL_SERVER {$ifdef Remote} OR CLSCTX_REMOTE_SERVER {$endif});
+
+ MEMCTX_TASK = 1; // task (private) memory
+ MEMCTX_SHARED = 2; // shared memory (between processes)
+ MEMCTX_MACSYSTEM = 3; // on the mac, the system heap
+ // these are mostly for internal use...
+ MEMCTX_UNKNOWN = -1; // unknown context (when asked about it)
+ MEMCTX_SAME = -2; // same context (as some other pointer)
+
+ type
+ TOleChar = WideChar;
+ POleStr = PWideChar;
+ PPOleStr = ^POleStr;
+
+ OleChar = WChar;
+ LPOLESTR = ^OLECHAR;
+ POLECHAR = LPOLESTR;
+ PLPOLESTR = ^LPOLESTR;
+ TClassInstancing = (ciInternal, ciSingleInstance, ciMultiInstance);
+ TThreadingModel = (tmSingle, tmApartment, tmFree, tmBoth, tmNeutral);
+
+ function CreateComObject(const ClassID: TGUID) : IUnknown;
+ function CreateOleObject(const ClassName : string) : IDispatch;
+ function GetActiveOleObject(const ClassName: string) : IDispatch;
+
+ procedure OleCheck(Value : HResult);inline;
+ procedure OleError(Code: HResult);
+
+ function ProgIDToClassID(const id : string) : TGUID;
+ function ClassIDToProgID(const classID: TGUID): string;
+
+ type
+ TCoInitializeExProc = function (pvReserved: Pointer;
+ coInit: DWORD): HResult; stdcall;
+ TCoAddRefServerProcessProc = function : ULONG; stdcall;
+ TCoReleaseServerProcessProc = function : ULONG; stdcall;
+ TCoResumeClassObjectsProc = function : HResult; stdcall;
+ TCoSuspendClassObjectsProc = function : HResult; stdcall;
+
+ _COSERVERINFO = Record
+ dwReserved1 : DWord;
+ pwszName : LPWSTR;
+ pAuthInfo : Pointer;
+ dwReserved2 : DWord;
+ end;
+ TCOSERVERINFO = _COSERVERINFO;
+ PCOSERVERINFO = ^TCOSERVERINFO;
+
+ IMalloc = Interface(IUnknown)
+ ['{00000002-0000-0000-C000-000000000046}']
+ Function Alloc(cb :size_t):Pointer; Stdcall;
+ Function Realloc (pv :pointer;cb:size_t):Pointer;stdcall;
+ Procedure Free({[in]} pv: pointer); Stdcall;
+ Function GetSize(pv:pointer):size_t;stdcall;
+ Function DidAlloc(pv:pointer):Longint;stdcall;
+ procedure HeapMinimize; stdcall;
+ End;
+
+ const
+ CoInitializeEx : TCoInitializeExProc = nil;
+ CoAddRefServerProcess : TCoAddRefServerProcessProc = nil;
+ CoReleaseServerProcess : TCoReleaseServerProcessProc = nil;
+ CoResumeClassObjects : TCoResumeClassObjectsProc = nil;
+ CoSuspendClassObjects : TCoSuspendClassObjectsProc = nil;
+ CoInitFlags : Longint = -1;
+
+ function CLSIDFromProgID(_para1:POLESTR; _para2:LPCLSID):HRESULT;stdcall; external 'ole32.dll' name 'CLSIDFromProgID';
+ function CLSIDFromProgID(_para1:POLESTR; out _para2:TCLSID):HRESULT;stdcall; external 'ole32.dll' name 'CLSIDFromProgID';
+ function CoInitialize(_para1:PVOID):HRESULT;stdcall; external 'ole32.dll' name 'CoInitialize';
+ function CoCreateInstance(const _para1:TCLSID; _para2:IUnknown; _para3:DWORD;const _para4:TIID;out _para5):HRESULT;stdcall; external 'ole32.dll' name 'CoCreateInstance';
+ function GetActiveObject(const clsid: TCLSID; pvReserved: Pointer; out unk: IUnknown) : HResult; stdcall; external 'oleaut32.dll' name 'GetActiveObject';
+ function ProgIDFromCLSID(para:PCLSID; out _para2:POLESTR):HRESULT;stdcall; external 'ole32.dll' name 'ProgIDFromCLSID';
+ function ProgIDFromCLSID(const _para1:TCLSID; out _para2:POLESTR):HRESULT;stdcall; external 'ole32.dll' name 'ProgIDFromCLSID';
+ procedure CoTaskMemFree(_para1:PVOID);stdcall; external 'ole32.dll' name 'CoTaskMemFree';
+ function CoGetMalloc(_para1:DWORD; out _para2:IMalloc):HRESULT;stdcall; external 'ole32.dll' name 'CoGetMalloc';
+ procedure CoUninitialize;stdcall; external 'ole32.dll' name 'CoUninitialize';
+
+implementation
+
+ uses
+ ComConst, Ole2, RtlConsts;
+
+ function CreateComObject(const ClassID : TGUID) : IUnknown;
+ begin
+ OleCheck(CoCreateInstance(ClassID,nil,CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER,IUnknown,result));
+ end;
+
+ function CreateOleObject(const ClassName : string) : IDispatch;
+ var
+ id : TCLSID;
+ begin
+ id:=ProgIDToClassID(ClassName);
+ OleCheck(CoCreateInstance(id,nil,CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER,IDispatch,result));
+ end;
+
+ function GetActiveOleObject(const ClassName : string) : IDispatch;
+{$ifndef wince}
+ var
+ intf : IUnknown;
+ id : TCLSID;
+ begin
+ id:=ProgIDToClassID(ClassName);
+ OleCheck(GetActiveObject(id,nil,intf));
+ OleCheck(intf.QueryInterface(IDispatch,Result));
+ end;
+{$else}
+ begin
+ Result:=nil;
+ end;
+{$endif wince}
+
+ procedure OleError(Code: HResult);
+ begin
+ end;
+
+ procedure OleCheck(Value : HResult);inline;
+ begin
+ if not(Succeeded(Value)) then
+ OleError(Value);
+ end;
+
+ function ProgIDToClassID(const id : string) : TGUID;
+ begin
+ OleCheck(CLSIDFromProgID(PWideChar(WideString(id)),result));
+ end;
+
+ function ClassIDToProgID(const classID: TGUID): string;
+ var
+ progid : LPOLESTR;
+ begin
+ OleCheck(ProgIDFromCLSID(@classID,progid));
+ result:=progid;
+ CoTaskMemFree(progid);
+ end;
+
+const
+ Initialized : boolean = false;
+var
+ Ole32Dll : HModule;
+
+initialization
+ Ole32Dll:=GetModuleHandle('ole32.dll');
+ if Ole32Dll<>0 then
+ begin
+ Pointer(CoInitializeEx):=GetProcAddress(Ole32Dll,'CoInitializeEx');
+ Pointer(CoAddRefServerProcess):=GetProcAddress(Ole32Dll,'CoAddRefServerProcess');
+ Pointer(CoReleaseServerProcess):=GetProcAddress(Ole32Dll,'CoReleaseServerProcess');
+ Pointer(CoResumeClassObjects):=GetProcAddress(Ole32Dll,'CoResumeClassObjects');
+ Pointer(CoSuspendClassObjects):=GetProcAddress(Ole32Dll,'CoSuspendClassObjects');
+ end;
+
+ if not(IsLibrary) then
+{$ifndef wince}
+ if (CoInitFlags=-1) or not(assigned(mcomobj.CoInitializeEx)) then
+ Initialized:=Succeeded(CoInitialize(nil))
+ else
+{$endif wince}
+ Initialized:=Succeeded(mcomobj.CoInitializeEx(nil, CoInitFlags));
+
+finalization
+ if Initialized then
+ CoUninitialize;
+end.
diff --git a/plugins/Utils.pas/shlobj.pp b/plugins/Utils.pas/shlobj.pp
index 197a0bf882..e98ce0566f 100644
--- a/plugins/Utils.pas/shlobj.pp
+++ b/plugins/Utils.pas/shlobj.pp
@@ -21,7 +21,7 @@ unit shlobj;
uses
windows,activex,shellapi,commctrl;
-Const
+Const
IID_IShellExtInit ='{000214E8-0000-0000-C000-000000000046}';
IID_IShellFolder : TGUID ='{000214E6-0000-0000-C000-000000000046}';
IID_IEnumList : TGUID ='{000214F2-0000-0000-C000-000000000046}';
@@ -509,9 +509,9 @@ Const
SHCNF_DWORD = $0003; // DWORD
SHCNF_PATHW = $0005; // path name
SHCNF_PRINTERW = $0006; // printer friendly name
- SHCNF_TYPE = $00FF;
- SHCNF_FLUSH = $1000;
- SHCNF_FLUSHNOWAIT = $2000;
+ SHCNF_TYPE = $00FF;
+ SHCNF_FLUSH = $1000;
+ SHCNF_FLUSHNOWAIT = $2000;
QITIPF_DEFAULT = $00000000;
QITIPF_USENAME = $00000001;
QITIPF_LINKNOTARGET = $00000002;
@@ -561,8 +561,8 @@ Const
OPENPROPS_INHIBITPIF = $8000;
GETPROPS_NONE = $0000;
SETPROPS_NONE = $0000;
- CLOSEPROPS_NONE = $0000;
- CLOSEPROPS_DISCARD = $0001;
+ CLOSEPROPS_NONE = $0000;
+ CLOSEPROPS_DISCARD = $0001;
TBIF_DEFAULT = $00000000;
TBIF_INTERNETBAR = $00010000;
TBIF_STANDARDTOOLBAR = $00020000;
@@ -620,7 +620,7 @@ Const
PUIFFDF_FRIENDLYDATE = $00000008; // "Today", "Yesterday", etc
PUIFFDF_NOUNITS = $00000010; // don't do "KB", "MB", "KHz"
CATINFO_NORMAL = $00000000; // Apply default properties to this category
- CATINFO_COLLAPSED = $00000001; // This category should appear collapsed. useful for the "None" category.
+ CATINFO_COLLAPSED = $00000001; // This category should appear collapsed. useful for the "None" category.
CATINFO_HIDDEN = $00000002; // This category should follow the "Hidden" files setting for being displayed
CATSORT_DEFAULT = $00000000; // Default Sort order
CATSORT_NAME = $00000001; // Sort by name
@@ -639,17 +639,17 @@ Const
SPINITF_NORMAL = $00000000; // default normal progress behavior
SPINITF_MODAL = $00000001; // call punkSite->EnableModeless() or EnableWindow()
SPINITF_NOMINIMIZE = $00000008; // Do not have a minimize button in the caption bar.
- ARCONTENT_AUTORUNINF = $00000002; // That's the one we have today, and always had
- ARCONTENT_AUDIOCD = $00000004; // Audio CD (not MP3 and the like, the stuff you buy at the store)
- ARCONTENT_DVDMOVIE = $00000008; // DVD Movie (not MPEGs, the stuff you buy at the store)
- ARCONTENT_BLANKCD = $00000010; // Blank CD-R/CD-RW
- ARCONTENT_BLANKDVD = $00000020; // Blank DVD-R/DVD-RW
+ ARCONTENT_AUTORUNINF = $00000002; // That's the one we have today, and always had
+ ARCONTENT_AUDIOCD = $00000004; // Audio CD (not MP3 and the like, the stuff you buy at the store)
+ ARCONTENT_DVDMOVIE = $00000008; // DVD Movie (not MPEGs, the stuff you buy at the store)
+ ARCONTENT_BLANKCD = $00000010; // Blank CD-R/CD-RW
+ ARCONTENT_BLANKDVD = $00000020; // Blank DVD-R/DVD-RW
ARCONTENT_UNKNOWNCONTENT= $00000040; // Whatever files. Mean that it's formatted.
ARCONTENT_AUTOPLAYPIX = $00000080; // Whatever files. Mean that it's formatted.
ARCONTENT_AUTOPLAYMUSIC = $00000100; // Whatever files. Mean that it's formatted.
ARCONTENT_AUTOPLAYVIDEO = $00000200; // Whatever files. Mean that it's formatted.
SPBEGINF_NORMAL = $00000000; // default normal progress behavior
- SPBEGINF_AUTOTIME = $00000002; // automatically updates the "time remaining" text
+ SPBEGINF_AUTOTIME = $00000002; // automatically updates the "time remaining" text
SPBEGINF_NOPROGRESSBAR = $00000010; // Don't display the progress bar (SetProgress() wont be called)
SPBEGINF_MARQUEEPROGRESS= $00000020; // use marquee progress (comctl32 v6 required)
EXPPS_FILETYPES = $00000001;
@@ -755,9 +755,9 @@ Const
SIGDN_DESKTOPABSOLUTEEDITING = $8004c000;
SIGDN_FILESYSPATH = $80058000;
SIGDN_URL = $80068000;
- SICHINT_DISPLAY = $00000000;
- SICHINT_ALLFIELDS = $80000000;
- SICHINT_CANONICAL = $10000000;
+ SICHINT_DISPLAY = $00000000;
+ SICHINT_ALLFIELDS = $80000000;
+ SICHINT_CANONICAL = $10000000;
BFO_NONE = $00000000; // Do nothing.
BFO_BROWSER_PERSIST_SETTINGS = $00000001; // Does this item want the browser stream? (Same window position as IE browser windows?)
BFO_RENAME_FOLDER_OPTIONS_TOINTERNET= $00000002; // Rename "Folder Options" to "Internet Options" in the Tools or View menu?
@@ -822,19 +822,19 @@ Const
SMC_PROMOTE = $00000012; // Promote an item, wParam = SMINV_* flag
SMC_DEFAULTICON = $00000016; // Returns Default icon location in wParam, index in lParam
SMC_NEWITEM = $00000017; // Notifies item is not in the order stream.
- SMC_CHEVRONEXPAND = $00000019; // Notifies of a expansion via the chevron
- SMC_DISPLAYCHEVRONTIP = $0000002A; // S_OK display, S_FALSE not.
+ SMC_CHEVRONEXPAND = $00000019; // Notifies of a expansion via the chevron
+ SMC_DISPLAYCHEVRONTIP = $0000002A; // S_OK display, S_FALSE not.
SMC_SETSFOBJECT = $0000002D; // Called to save the passed object
SMC_SHCHANGENOTIFY = $0000002E; // Called when a Change notify is received. lParam points to SMCSHCHANGENOTIFYSTRUCT
SMC_CHEVRONGETTIP = $0000002F; // Called to get the chevron tip text. wParam = Tip title, Lparam = TipText Both MAX_PATH
SMC_SFDDRESTRICTED = $00000030; // Called requesting if it's ok to drop. wParam = IDropTarget.
ATTACHMENT_PROMPT_NONE = $0000;
ATTACHMENT_PROMPT_SAVE = $0001;
- ATTACHMENT_PROMPT_EXEC = $0002;
- ATTACHMENT_PROMPT_EXEC_OR_SAVE = $0003;
- ATTACHMENT_ACTION_CANCEL= $0000;
+ ATTACHMENT_PROMPT_EXEC = $0002;
+ ATTACHMENT_PROMPT_EXEC_OR_SAVE = $0003;
+ ATTACHMENT_ACTION_CANCEL= $0000;
ATTACHMENT_ACTION_SAVE = $0001;
- ATTACHMENT_ACTION_EXEC = $0002;
+ ATTACHMENT_ACTION_EXEC = $0002;
SMINIT_DEFAULT = $00000000; // No Options
SMINIT_RESTRICT_DRAGDROP= $00000002; // Don't allow Drag and Drop
SMINIT_TOPLEVEL = $00000004; // This is the top band.
@@ -876,7 +876,7 @@ Const
FOS_FORCESHOWHIDDEN = $10000000;
FOS_DEFAULTNOMINIMODE = $20000000;
FOS_FORCEPREVIEWPANEON = $40000000;
-
+
Type
SFGAOF = ULONG;
TSFGAOF = SFGAOF;
@@ -889,7 +889,7 @@ Type
PSIGDN = ^SIGDN;
SICHINTF = longint;
TSICHINTF = SICHINTF;
- PSICHINTF = ^SICHINTF;
+ PSICHINTF = ^SICHINTF;
PROPERTYUI_NAME_FLAGS = DWord; // enum
@@ -990,7 +990,7 @@ Type
PNT_CONSOLE_PROPS = ^NT_CONSOLE_PROPS;
NT_CONSOLE_PROPS = record
- dbh : DATABLOCK_HEADER;
+ dbh : DATABLOCK_HEADER;
wFillAttribute : WORD; { fill attribute for console }
wPopupFillAttribute : WORD; { fill attribute for console popups }
dwScreenBufferSize : COORD; { screen buffer size for console }
@@ -1068,19 +1068,19 @@ Type
punkRel : IUnknown; { Relese this interface when window is visible }
{ Stuff that might be returned from viewer (out) }
strNewFile : array[0..(MAX_PATH)-1] of OLECHAR; { New File to view. }
- end;
+ end;
TFVSHOWINFO = FVSHOWINFO;
LPFVSHOWINFO = PFVSHOWINFO;
PLPFVSHOWINFO = ^LPFVSHOWINFO;
PSHFOLDERCUSTOMSETTINGSA = ^SHFOLDERCUSTOMSETTINGSA;
SHFOLDERCUSTOMSETTINGSA = record
- dwSize : DWORD;
- dwMask : DWORD; { IN/OUT Which Attributes to Get/Set }
+ dwSize : DWORD;
+ dwMask : DWORD; { IN/OUT Which Attributes to Get/Set }
pvid : PSHELLVIEWID; { OUT - if dwReadWrite is FCS_READ, IN - otherwise }
{ The folder's WebView template path }
- pszWebViewTemplate : LPSTR; { OUT - if dwReadWrite is FCS_READ, IN - otherwise }
- cchWebViewTemplate : DWORD; { IN - Specifies the size of the buffer pointed to by pszWebViewTemplate }
+ pszWebViewTemplate : LPSTR; { OUT - if dwReadWrite is FCS_READ, IN - otherwise }
+ cchWebViewTemplate : DWORD; { IN - Specifies the size of the buffer pointed to by pszWebViewTemplate }
pszWebViewTemplateVersion : LPSTR; { Ignored if dwReadWrite is FCS_READ }
pszInfoTip : LPSTR; { currently IN only }
cchInfoTip : DWORD; { Infotip for the folder }
@@ -1131,7 +1131,7 @@ Type
pszDisplayName : LPSTR; { Return display name of item selected. }
lpszTitle : LPCSTR; { text to go in the banner over the tree. }
ulFlags : UINT; { Flags that control the return stuff }
- lpfn : BFFCALLBACK;
+ lpfn : BFFCALLBACK;
lParam : LPARAM; { extra info that's passed back in callbacks }
iImage : longint; { output var: where to return the Image index. }
end;
@@ -1148,7 +1148,7 @@ Type
pszDisplayName : LPWSTR; { Return display name of item selected. }
lpszTitle : LPCWSTR; { text to go in the banner over the tree. }
ulFlags : UINT; { Flags that control the return stuff }
- lpfn : BFFCALLBACK;
+ lpfn : BFFCALLBACK;
lParam : LPARAM; { extra info that's passed back in callbacks }
iImage : longint; { output var: where to return the Image index. }
end;
@@ -1231,7 +1231,7 @@ Type
PLPCCOMPPOS = ^LPCCOMPPOS;
LPCCOMPPOS = COMPPOS;
-
+
_tagCOMPSTATEINFO = record
dwSize : DWORD; { Size of this structure. }
iLeft : longint; { Left of the top-left corner in screen co-ordinates. }
@@ -1249,7 +1249,7 @@ Type
LPCCOMPSTATEINFO = COMPSTATEINFO;
_tagIE4COMPONENT = record
- dwSize : DWORD; {Size of this structure }
+ dwSize : DWORD; {Size of this structure }
dwID : DWORD; {Reserved: Set it always to zero. }
iComponentType : longint; {One of COMP_TYPE_* }
fChecked : BOOL; { Is this component enabled? }
@@ -1308,7 +1308,7 @@ Type
PLPSHCOLUMNINFO = ^LPSHCOLUMNINFO;
PSHCOLUMNINIT = ^SHCOLUMNINIT;
- SHCOLUMNINIT = record
+ SHCOLUMNINIT = record
dwFlags : ULONG; { initialization flags }
dwReserved : ULONG; { reserved for future use. }
wszFolder : array[0..(MAX_PATH)-1] of WCHAR; { fully qualified folder path (or empty if multiple folders) }
@@ -1334,7 +1334,7 @@ Type
PLPCSHCOLUMNDATA = ^LPCSHCOLUMNDATA;
LPCSHCOLUMNDATA = SHCOLUMNDATA;
-
+
PSHDRAGIMAGE = ^SHDRAGIMAGE;
SHDRAGIMAGE = record
sizeDragImage : SIZE; { OUT - The length and Width of the rendered image }
@@ -1424,7 +1424,7 @@ Type
PFILEGROUPDESCRIPTORW = ^FILEGROUPDESCRIPTORW;
LPFILEGROUPDESCRIPTORW = PFILEGROUPDESCRIPTORW;
PLPFILEGROUPDESCRIPTORW = ^LPFILEGROUPDESCRIPTORW;
-
+
_DROPFILES = record
pFiles : DWORD; { offset of file list }
pt : POINT; { drop point (client coords) }
@@ -1496,7 +1496,7 @@ Type
PLPSHDESCRIPTIONID = ^LPSHDESCRIPTIONID;
const
- NUM_POINTS = 3;
+ NUM_POINTS = 3;
{ asd }
type
@@ -1512,7 +1512,7 @@ Type
TAUTO_SCROLL_DATA = AUTO_SCROLL_DATA;
PCABINETSTATE = ^CABINETSTATE;
- CABINETSTATE = record
+ CABINETSTATE = record
cLength : WORD; { NT: Show compressed volumes in a different colour }
nVersion : WORD; { NT: Do 8.3 name conversion, or not! }
flag0 : word; { NT: Administrators create comon groups }
@@ -1524,7 +1524,7 @@ Type
- FOLDERSettings = Packed Record
+ FOLDERSettings = Packed Record
ViewMode : UINT; // View mode (FOLDERVIEWMODE values)
fFlags : UINT; // View options (FOLDERFLAGS bits)
end;
@@ -1532,7 +1532,7 @@ Type
PFOLDERSettings = ^FOLDERSettings;
LPFOLDERSettings= PFOLDERSettings;
LPCFOLDERSettings= LPFOLDERSettings;
- PSV2CVW2_PARAMS = ^TSV2CVW2_PARAMS;
+ PSV2CVW2_PARAMS = ^TSV2CVW2_PARAMS;
TSV2CVW2_PARAMS = packed record // actually <pshpack8.h>")
cbSize : DWORD;
psvPrev : IShellView;
@@ -1769,7 +1769,7 @@ Type
PFDE_OVERWRITE_RESPONSE = ^longint;
FDE_SHAREVIOLATION_RESPONSE = longint;
TFDE_SHAREVIOLATION_RESPONSE = FDE_SHAREVIOLATION_RESPONSE;
- PFDE_SHAREVIOLATION_RESPONSE = ^FDE_SHAREVIOLATION_RESPONSE;
+ PFDE_SHAREVIOLATION_RESPONSE = ^FDE_SHAREVIOLATION_RESPONSE;
FILEOPENDIALOGOPTIONS = longint;
TFILEOPENDIALOGOPTIONS = FILEOPENDIALOGOPTIONS;
PFILEOPENDIALOGOPTIONS = ^TFILEOPENDIALOGOPTIONS;
@@ -1785,7 +1785,7 @@ Type
TCOMDLG_FILTERSPEC = _COMDLG_FILTERSPEC;
PCOMDLG_FILTERSPEC = ^_COMDLG_FILTERSPEC;
-
+
IPersistFolder = Interface(IPersist)
['{000214EA-0000-0000-C000-000000000046}']
function Initialize (pild : LPCITEMIDLIST): HResult; StdCall;
@@ -1798,7 +1798,7 @@ Type
IPersistIDList = Interface(IPersist)
['{1079acfc-29bd-11d3-8e0d-00c04f6837d5}']
- function SetIdList(pid:LPCITEMIDLIST):HResult;StdCall;
+ function SetIdList(pid:LPCITEMIDLIST):HResult;StdCall;
function GetIdList(out pid:LPCITEMIDLIST):HResult;StdCall;
end;
@@ -1815,7 +1815,7 @@ Type
function Skip(celt: ULONG): HRESULT; stdcall; function Reset: HRESULT; stdcall;
function Clone(out ppenum: IEnumExtraSearch): HRESULT; stdcall;
end;
-
+
IShellFolder = interface(IUnknown)
['{000214E6-0000-0000-C000-000000000046}']
function ParseDisplayName(hwndOwner: HWND; pbcReserved: Pointer; lpszDisplayName: POLESTR; out pchEaten: ULONG; out ppidl: PItemIDList; var dwAttributes: ULONG): HRESULT; stdcall;
@@ -1833,12 +1833,12 @@ Type
IShellFolder2 = interface(IShellFolder)
['{93F2F68C-1D1B-11d3-A30E-00C04F79ABD1}']
function GetDefaultSearchGUID(out guid:TGUID):HResult;StdCall;
- function EnumSearches(out ppenum:IEnumExtraSearch):HResult;StdCall;
- function GetDefaultColumn(dwres:DWORD;psort :pulong; pdisplay:pulong):HResult;StdCall;
- function GetDefaultColumnState(icolumn:UINT;pscflag:PSHCOLSTATEF):HResult;StdCall;
- function GetDetailsEx(pidl:LPCITEMIDLIST;pscid:PSHCOLUMNID; pv : pOLEvariant):HResult;StdCall;
- function GetDetailsOf(pidl:LPCITEMIDLIST;iColumn:UINT;psd:PSHELLDETAILS):HResult;StdCall;
- function MapColumnToSCID(iColumn:UINT;pscid:PSHCOLUMNID):HResult;StdCall;
+ function EnumSearches(out ppenum:IEnumExtraSearch):HResult;StdCall;
+ function GetDefaultColumn(dwres:DWORD;psort :pulong; pdisplay:pulong):HResult;StdCall;
+ function GetDefaultColumnState(icolumn:UINT;pscflag:PSHCOLSTATEF):HResult;StdCall;
+ function GetDetailsEx(pidl:LPCITEMIDLIST;pscid:PSHCOLUMNID; pv : pOLEvariant):HResult;StdCall;
+ function GetDetailsOf(pidl:LPCITEMIDLIST;iColumn:UINT;psd:PSHELLDETAILS):HResult;StdCall;
+ function MapColumnToSCID(iColumn:UINT;pscid:PSHCOLUMNID):HResult;StdCall;
end;
IAutoComplete = interface(IUnknown)
@@ -1854,11 +1854,11 @@ Type
function UIActivate(uState:UINT):HResult; StdCall;
function Refresh:HResult; StdCall;
function CreateViewWindow(psvPrevious:IShellView;pfs:LPCFOLDERSETTINGS;psb:IShellBrowser;prcview:prect;var ph:HWND):HResult;StdCall;
- function DestroyViewWindow:HResult; StdCall;
- function GetCurrentInfo(pfs: LPFOLDERSETTINGS):HResult; StdCall;
- function AddPropertySheetPages(dwreserved : DWORD;pfn:pointer{LPFNSVADDPROPSHEETPAGE};lp:lparam):HResult; StdCall;
- function SaveViewState:HResult; StdCall;
- function SelectItem( pidlItem: LPCITEMIDLIST;uflags:TSVSIF):HResult; StdCall;
+ function DestroyViewWindow:HResult; StdCall;
+ function GetCurrentInfo(pfs: LPFOLDERSETTINGS):HResult; StdCall;
+ function AddPropertySheetPages(dwreserved : DWORD;pfn:pointer{LPFNSVADDPROPSHEETPAGE};lp:lparam):HResult; StdCall;
+ function SaveViewState:HResult; StdCall;
+ function SelectItem( pidlItem: LPCITEMIDLIST;uflags:TSVSIF):HResult; StdCall;
function GetItemObject(uitem:UINT;const riid:TGUID;out ppv :PPOinter):HResult;StdCall;
end;
@@ -1872,21 +1872,21 @@ Type
IFolderView = Interface(IUnknown)
['{cde725b0-ccc9-4519-917e-325d72fab4ce}']
- function GetCurrentViewMode(pViewMode:PUINT):HResult; StdCall;
- function SetCurrentViewMode(ViewMode:UINT):HResult; StdCall;
- function GetFolder(const riid:TGUID;ppv:pointer):HResult; StdCall;
- function Item(iItemIndex:longint;ppidl:LPITEMIDLIST):HResult; StdCall;
- function ItemCount(uflags:uint;pcitems:plongint):HResult; StdCall;
- function Items (uflags:uint;const id :TGUID;out ppv: pointer):HResult; StdCall;
- function GetSelectionMarkedItem(piItem:pint):HResult; StdCall;
- function GetFocussedItem(piItem:pint):HResult; StdCall;
- function GetItemPosition(pidl:LPCITEMIDLIST;ppt:PPOINT):HResult; StdCall;
- function GetSpacing(ppt:ppoint):HResult; StdCall;
- function GetDefaultSpacing(ppt:ppoint):HResult; StdCall;
- function GetAutoArrange:HResult; StdCall;
- function SelectItem(iItem : longint;dwflags:Dword) :HResult; StdCall;
- function SelectAndPositionItems(cild:uint;var apid: LPCITEMIDLIST ;apt:PPOINT;dwflags:DWord):HResult; StdCall;
- end;
+ function GetCurrentViewMode(pViewMode:PUINT):HResult; StdCall;
+ function SetCurrentViewMode(ViewMode:UINT):HResult; StdCall;
+ function GetFolder(const riid:TGUID;ppv:pointer):HResult; StdCall;
+ function Item(iItemIndex:longint;ppidl:LPITEMIDLIST):HResult; StdCall;
+ function ItemCount(uflags:uint;pcitems:plongint):HResult; StdCall;
+ function Items (uflags:uint;const id :TGUID;out ppv: pointer):HResult; StdCall;
+ function GetSelectionMarkedItem(piItem:pint):HResult; StdCall;
+ function GetFocussedItem(piItem:pint):HResult; StdCall;
+ function GetItemPosition(pidl:LPCITEMIDLIST;ppt:PPOINT):HResult; StdCall;
+ function GetSpacing(ppt:ppoint):HResult; StdCall;
+ function GetDefaultSpacing(ppt:ppoint):HResult; StdCall;
+ function GetAutoArrange:HResult; StdCall;
+ function SelectItem(iItem : longint;dwflags:Dword) :HResult; StdCall;
+ function SelectAndPositionItems(cild:uint;var apid: LPCITEMIDLIST ;apt:PPOINT;dwflags:DWord):HResult; StdCall;
+ end;
IFolderFilterSite = Interface(IUnknown)
['{C0A651F5-B48B-11d2-B5ED-006097C686F6}']
function SetFilter(punk:IUnknown):HResult; StdCall;
@@ -1915,7 +1915,7 @@ Type
function QueryActiveShellView(out ppsh :IShellView): HResult;StdCall;
function OnViewWindowActive(psh :IShellView): HResult;StdCall;
function SetToolBarItems(lpButtons:LPTBBUTTONSB;nButtons:UINT;uFlags:uint): HResult;StdCall;
- end;
+ end;
const
CLSID_AutoComplete: TGUID = '{00BB2763-6A77-11D0-A535-00C04FD7D062}';
@@ -1955,7 +1955,7 @@ Type
IContextMenu = interface(IUnknown)
['{000214E4-0000-0000-c000-000000000046}']
function QueryContextMenu(hmenu:HMENU;indexMenu:UINT;idCmdFirst:UINT;idCmdLast:UINT;UFlags:uint):HRESULT;StdCall;
- function InvokeCommand(var lpici : TCMINVOKECOMMANDINFO):HResult; StdCall;
+ function InvokeCommand(var lpici : TCMINVOKECOMMANDINFO):HResult; StdCall;
function GetCommandString(idcmd:UINT_Ptr;uType:UINT;pwreserved:puint;pszName:LPStr;cchMax:uint):HResult;StdCall;
end;
IContextMenu2 = interface(IContextMenu)
@@ -1997,7 +1997,7 @@ Type
function GetDefaultWidth(const fmtid:FMTID; pid:PROPID; pcxChars:pULONG):HRESULT;StdCall;
function GetFlags(const fmtid:FMTID; pid:PROPID; pFlags:pPROPERTYUI_FLAGS):HRESULT;StdCall;
function FormatForDisplay(const fmtid:FMTID; pid:PROPID; pvar:pPROPVARIANT; flags:PROPERTYUI_FORMAT_FLAGS;wszText:LPWSTR;cchText:DWORD):HRESULT;StdCall;
- function GetHelpInfo(const fmtid:FMTID; pid:PROPID; pwszHelpFile:LPWSTR; cch:DWORD; puHelpID:pUINT):HRESULT;StdCall;
+ function GetHelpInfo(const fmtid:FMTID; pid:PROPID; pwszHelpFile:LPWSTR; cch:DWORD; puHelpID:pUINT):HRESULT;StdCall;
end;
}
ICategoryProvider =interface(IUnknown)
@@ -2152,7 +2152,7 @@ type
function GetCount(out pcElem: UINT): HResult; stdcall;
function GetAt(iElem: UINT; const riid: REFIID; out ppv): HResult; stdcall;
end;
-
+
IShellLinkA = Interface(IUnknown)
['{000214EE-0000-0000-C000-000000000046}']
function GetPath(pszFile:LPSTR; cch:longint;var pfd:WIN32_FIND_DATA; fFlags:DWORD):HRESULT;StdCall;
@@ -2173,8 +2173,8 @@ type
function SetRelativePath(pszPathRel:LPCSTR; dwReserved:DWORD):HRESULT;StdCall;
function Resolve(hwnd:HWND; fFlags:DWORD):HRESULT;StdCall;
function SetPath(pszFile:LPCSTR):HRESULT;StdCall;
- end;
-
+ end;
+
IShellLinkW = interface (IUnknown)
['{000214F9-0000-0000-C000-000000000046}']
function GetPath(pszFile:LPWSTR; cch:longint; pfd:pWIN32_FIND_DATAW; fFlags:DWORD):HRESULT;StdCall;
@@ -2201,7 +2201,7 @@ type
PIShellItem= ^IShellItem;
IShellItem = interface(IUnknown)
['{43826d1e-e718-42ee-bc55-a1e261c37bfe}']
- function BindToHandler(pbc:IBindCTX;bhid:PGUID;RIID:PIID;ppv:ppointer):HResult;Stdcall;
+ function BindToHandler(pbc:IBindCTX;bhid:PGUID;RIID:PIID;ppv:ppointer):HResult;Stdcall;
function GetParent(ppsi:PISHellItem):HResult;Stdcall;
function GetDisplayName(sigdnname:SIGDN;ppszName:LPWSTR):HResult; Stdcall;
function GetAttributes(sfgaomask:SFGAOF;psfgaoAttribs:PSFGAOF):HResult;Stdcall;
@@ -2241,14 +2241,14 @@ type
['{b4db1657-70d7-485e-8e3e-6fcb5a5c1802}']
function Show(hwndparent:HWND):HResult;StdCall;
end;
-
+
IShellItemFilter = Interface(IUnknown)
['{2659B475-EEB8-48b7-8F07-B378810F48CF}']
function IncludeItem(psi:IShellItem):HResult;StdCall;
function GetEnumFlagsForItem(psi:IShellItem;pgrfflags :PSHCONTF):HRESULT;Stdcall;
- end;
+ end;
- IFileDialog = Interface;
+ IFileDialog = Interface;
IFileDialogEvents = Interface(IUnknown)
['{973510db-7d7f-452b-8975-74a85828d354}']
function OnFileOk (pfd:IFileDialog):HResult; Stdcall;
@@ -2260,7 +2260,7 @@ type
function OnOverwrite (pfd:IFileDialog;psi:IShellItem;pResponse :pFDE_OVERWRITE_RESPONSE):HResult; Stdcall;
end;
- IFileDialog = Interface(IModalWindow)
+ IFileDialog = Interface(IModalWindow)
['{42f85136-db7e-439c-85f1-e4075d135fc8}']
function SetFileTypes(cFileTypes:UINT;rgFilterSpec:pCOMDLG_FILTERSPEC):HRESULT;Stdcall;
function SetFileTypeIndex(iFileType:UINT):HRESULT;Stdcall;
@@ -2428,7 +2428,7 @@ Const External_Library = 'shell32';
function SHHandleUpdateImage(pidlExtra:LPCITEMIDLIST):Longint;StdCall;external External_library name 'SHHandleUpdateImage';
procedure SHUpdateImageA(pszHashItem:lpcstr; iIndex:Longint; uFlags:UINT; iImageIndex:Longint);StdCall;external External_library name 'SHUpdateImageA';
procedure SHUpdateImageW(pszHashItem:lpcwstr; iIndex:Longint; uFlags:UINT; iImageIndex:Longint);StdCall;external External_library name 'SHUpdateImageW';
- function SHChangeNotifyRegister(hwnd:HWND; fSources:Longint; fEvents:LONG; wMsg:UINT; cEntries:Longint;
+ function SHChangeNotifyRegister(hwnd:HWND; fSources:Longint; fEvents:LONG; wMsg:UINT; cEntries:Longint;
pshcne:PSHChangeNotifyEntry):ULONG;StdCall;external External_library name 'SHChangeNotifyRegister';
function SHChangeNotifyDeregister(ulID:ulong):BOOL;StdCall;external External_library name 'SHChangeNotifyDeregister';
function SHChangeNotification_Lock(hChangeNotification:THANDLE; dwProcessId:DWord; var pppidl:PLPITEMIDLIST; plEvent:PLONG):THANDLE;StdCall;external External_library name 'SHChangeNotification_Lock';
@@ -2459,12 +2459,12 @@ Const External_Library = 'shell32';
function PathIsSlowW(pszFile:lpcwstr; dwAttr:DWord):BOOL;StdCall;external External_library name 'PathIsSlowW';
function PathCleanupSpec(pszDir:lpcwstr; pszSpec:LPWStr):Longint;StdCall;external External_library name 'PathCleanupSpec';
function PathResolve(pszPath:LPWStr; dirs:array of lpcwstr; fFlags:UINT):Longint;StdCall;external External_library name 'PathResolve';
- function GetFileNameFromBrowse(hwnd:HWND; pszFilePath:LPWStr; cbFilePath:UINT; pszWorkingDir:lpcwstr; pszDefExt:lpcwstr;
+ function GetFileNameFromBrowse(hwnd:HWND; pszFilePath:LPWStr; cbFilePath:UINT; pszWorkingDir:lpcwstr; pszDefExt:lpcwstr;
pszFilters:lpcwstr; pszTitle:lpcwstr):BOOL;StdCall;external External_library name 'GetFileNameFromBrowse';
function DriveType(iDrive:Longint):Longint;StdCall;external External_library name 'DriveType';
function RealDriveType(iDrive:Longint; fOKToHitNet:BOOL):Longint;StdCall;external External_library name 'RealDriveType';
function IsNetDrive(iDrive:Longint):Longint;StdCall;external External_library name 'IsNetDrive';
- function Shell_MergeMenus(hmDst:HMENU; hmSrc:HMENU; uInsert:UINT; uIDAdjust:UINT; uIDAdjustMax:UINT;
+ function Shell_MergeMenus(hmDst:HMENU; hmSrc:HMENU; uInsert:UINT; uIDAdjust:UINT; uIDAdjustMax:UINT;
uFlags:ULONG):UINT;StdCall;external External_library name 'Shell_MergeMenus';
function SHObjectProperties(hwnd:HWND; dwType:DWord; lpObject:lpcwstr; lpPage:lpcwstr):BOOL;StdCall;external External_library name 'SHObjectProperties';
function SHFormatDrive(hwnd:HWND; drive:UINT; fmtID:UINT; options:UINT):DWord;StdCall;external External_library name 'SHFormatDrive';
@@ -2498,9 +2498,9 @@ Const External_Library = 'shell32';
function SHLoadOLE(lParam:lparam):HRESULT;StdCall;external External_library name 'SHLoadOLE';
function SHStartNetConnectionDialogA(hwnd:HWND; pszRemoteName:lpcstr; dwType:DWord):HRESULT;StdCall;external External_library name 'SHStartNetConnectionDialogA';
function SHStartNetConnectionDialogW(hwnd:HWND; pszRemoteName:lpcwstr; dwType:DWord):HRESULT;StdCall;external External_library name 'SHStartNetConnectionDialogW';
- function SHDefExtractIconA(pszIconFile:lpcstr; iIndex:Longint; uFlags:UINT; phiconLarge:PHICON; phiconSmall:PHICON;
+ function SHDefExtractIconA(pszIconFile:lpcstr; iIndex:Longint; uFlags:UINT; phiconLarge:PHICON; phiconSmall:PHICON;
nIconSize:UINT):HRESULT;StdCall;external External_library name 'SHDefExtractIconA';
- function SHDefExtractIconW(pszIconFile:lpcwstr; iIndex:Longint; uFlags:UINT; phiconLarge:PHICON; phiconSmall:PHICON;
+ function SHDefExtractIconW(pszIconFile:lpcwstr; iIndex:Longint; uFlags:UINT; phiconLarge:PHICON; phiconSmall:PHICON;
nIconSize:UINT):HRESULT;StdCall;external External_library name 'SHDefExtractIconW';
function Shell_GetImageLists(var phiml:HIMAGELIST; var phimlSmall:HIMAGELIST):BOOL;StdCall;external External_library name 'Shell_GetImageLists';
function Shell_GetCachedImageIndex(pszIconPath:lpcwstr; iIconIndex:Longint; uIconFlags:UINT):Longint;StdCall;external External_library name 'Shell_GetCachedImageIndex';
@@ -2513,11 +2513,11 @@ Const External_Library = 'shell32';
function IsUserAnAdmin:BOOL;StdCall;external External_library name 'IsUserAnAdmin';
function SHShellFolderView_Message(hwndMain:HWND; uMsg:UINT; lParam:lparam):lresult;StdCall;external External_library name 'SHShellFolderView_Message';
function SHCreateShellFolderView(pcsfv:PSFV_CREATE; out ppsv:IShellView):HRESULT;StdCall;external External_library name 'SHCreateShellFolderView';
- function CDefFolderMenu_Create2(pidlFolder:LPCITEMIDLIST; hwnd:HWND; cidl:UINT;var apidl:LPCITEMIDLIST; psf:IShellFolder;
+ function CDefFolderMenu_Create2(pidlFolder:LPCITEMIDLIST; hwnd:HWND; cidl:UINT;var apidl:LPCITEMIDLIST; psf:IShellFolder;
lpfn:LPFNDFMCALLBACK; nKeys:UINT; ahkeyClsKeys:PHKEY; out ppcm:IContextMenu):HRESULT;StdCall;external External_library name 'CDefFolderMenu_Create2';
- function SHOpenPropSheetA(pszCaption:lpcstr; ahkeys:array of HKEY; cikeys:UINT; pclsidDefault:PCLSID; pdtobj:IDataObject;
+ function SHOpenPropSheetA(pszCaption:lpcstr; ahkeys:array of HKEY; cikeys:UINT; pclsidDefault:PCLSID; pdtobj:IDataObject;
psb:IShellBrowser; pStartPage:lpcstr):BOOL;StdCall;external External_library name 'SHOpenPropSheetA';
- function SHOpenPropSheetW(pszCaption:lpcwstr; ahkeys:array of HKEY; cikeys:UINT; pclsidDefault:PCLSID; pdtobj:IDataObject;
+ function SHOpenPropSheetW(pszCaption:lpcwstr; ahkeys:array of HKEY; cikeys:UINT; pclsidDefault:PCLSID; pdtobj:IDataObject;
psb:IShellBrowser; pStartPage:lpcwstr):BOOL;StdCall;external External_library name 'SHOpenPropSheetW';
function SHFind_InitMenuPopup(hmenu:HMENU; hwndOwner:HWND; idCmdFirst:UINT; idCmdLast:UINT):IContextMenu;StdCall;external External_library name 'SHFind_InitMenuPopup';
function SHCreateShellFolderViewEx(pcsfv:LPCSFV; out ppsv:IShellView):HRESULT;StdCall;external External_library name 'SHCreateShellFolderViewEx';
@@ -2527,17 +2527,17 @@ Const External_Library = 'shell32';
function SHParseDisplayName(pszName:PCWSTR; pbc:IBindCtx; var ppidl:LPITEMIDLIST; sfgaoIn:TSFGAOF; psfgaoOut:PSFGAOF):HRESULT;StdCall;external External_library name 'SHParseDisplayName';
function SHPathPrepareForWriteA(hwnd:HWND; punkEnableModless:IUnknown; pszPath:lpcstr; dwFlags:DWord):HRESULT;StdCall;external External_library name 'SHPathPrepareForWriteA';
function SHPathPrepareForWriteW(hwnd:HWND; punkEnableModless:IUnknown; pszPath:lpcwstr; dwFlags:DWord):HRESULT;StdCall;external External_library name 'SHPathPrepareForWriteW';
-{ function SHPropStgCreate(psstg:IPropertySetStorage; fmtid:TREFFMTID; pclsid:PCLSID; grfFlags:DWord; grfMode:DWord;
+{ function SHPropStgCreate(psstg:IPropertySetStorage; fmtid:TREFFMTID; pclsid:PCLSID; grfFlags:DWord; grfMode:DWord;
dwDisposition:DWord; out ppstg:IPropertyStorage; puCodePage:PUINT):HRESULT;StdCall;external External_library name 'SHPropStgCreate';
function SHPropStgReadMultiple(pps:IPropertyStorage; uCodePage:UINT; cpspec:ULONG; rgpspec:array of TPROPSPEC; rgvar:array of TPROPVARIANT):HRESULT;StdCall;external External_library name 'SHPropStgReadMultiple';
- function SHPropStgWriteMultiple(pps:IPropertyStorage; puCodePage:PUINT; cpspec:ULONG; rgpspec:array of TPROPSPEC; rgvar:array of TPROPVARIANT;
+ function SHPropStgWriteMultiple(pps:IPropertyStorage; puCodePage:PUINT; cpspec:ULONG; rgpspec:array of TPROPSPEC; rgvar:array of TPROPVARIANT;
propidNameFirst:TPROPID):HRESULT;StdCall;external External_library name 'SHPropStgWriteMultiple';
}
function SHCreateFileExtractIconA(pszFile:lpcstr; dwFileAttributes:DWord; riid:TREFIID; ppv:Ppointer):HRESULT;StdCall;external External_library name 'SHCreateFileExtractIconA';
function SHCreateFileExtractIconW(pszFile:lpcwstr; dwFileAttributes:DWord; riid:TREFIID; ppv:Ppointer):HRESULT;StdCall;external External_library name 'SHCreateFileExtractIconW';
function SHLimitInputEdit(hwndEdit:HWND; psf:IShellFolder):HRESULT;StdCall;external External_library name 'SHLimitInputEdit';
function SHMultiFileProperties(pdtobj:IDataObject; dwFlags:DWord):HRESULT;StdCall;external External_library name 'SHMultiFileProperties';
-// function SHMapIDListToImageListIndexAsync(pts:IShellTaskScheduler; psf:IShellFolder; pidl:LPCITEMIDLIST; flags:UINT; pfn:TPFNASYNCICONTASKBALLBACK;
+// function SHMapIDListToImageListIndexAsync(pts:IShellTaskScheduler; psf:IShellFolder; pidl:LPCITEMIDLIST; flags:UINT; pfn:TPFNASYNCICONTASKBALLBACK;
// pvData:pointer; pvHint:pointer; piIndex:plongint; piIndexSel:plongint):HRESULT;StdCall;external External_library name 'SHMapIDListToImageListIndexAsync';
function SHMapPIDLToSystemImageListIndex(pshf:IShellFolder; pidl:LPCITEMIDLIST; piIndexSel:plongint):Longint;StdCall;external External_library name 'SHMapPIDLToSystemImageListIndex';
diff --git a/plugins/Watrack/watrack.dpr b/plugins/Watrack/watrack.dpr
index 20d5b3b699..a3d7abf464 100644
--- a/plugins/Watrack/watrack.dpr
+++ b/plugins/Watrack/watrack.dpr
@@ -8,7 +8,7 @@ library WATrack;
uses
// FastMM not compatible with FPC, internal for delphi xe
// {$IFNDEF COMPILER_16_UP}{$IFNDEF FPC}fastmm4,{$ENDIF}{$ENDIF}
- m_api,dbsettings,activex,winampapi,
+ m_api,dbsettings,winampapi,
Windows,messages,commctrl,//uxtheme,
srv_format,srv_player,wat_api,wrapper,
common,syswin,HlpDlg,mirutils
@@ -494,8 +494,6 @@ begin
hTimer:=0;
- OleInitialize(nil);
-
if RegisterIcons then
wsic:=HookEvent(ME_SKIN2_ICONSCHANGED,@IconChanged)
else
@@ -611,8 +609,6 @@ begin
DestroyHookableEvent(hHookWATLoaded);
DestroyHookableEvent(hHookWATStatus);
- OleUnInitialize;
-
//delete cover files
buf[0]:=#0;
GetTempPathW(511,buf);