From: Andreas H. <ah...@us...> - 2004-05-28 20:29:25
|
Update of /cvsroot/jvcl/dev/JVCL3/run In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7826/run Modified Files: JvDragDrop.pas Log Message: Reduced initialization section Index: JvDragDrop.pas =================================================================== RCS file: /cvsroot/jvcl/dev/JVCL3/run/JvDragDrop.pas,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** JvDragDrop.pas 12 May 2004 07:18:29 -0000 1.11 --- JvDragDrop.pas 28 May 2004 20:29:16 -0000 1.12 *************** *** 133,140 **** end; var ! CF_FILEDESCRIPTOR: DWORD; ! CF_FILECONTENTS: DWORD; ! Malloc: IMalloc; FileDropFormatEtc: FORMATETC; --- 133,149 ---- end; + function CF_FILEDESCRIPTOR: DWORD; + function CF_FILECONTENTS: DWORD; + function Malloc: IMalloc; + + implementation + + uses + JvWndProcHook, JvJCLUtils; + var ! GlobalCF_FILEDESCRIPTOR: DWORD = $FFFFFFF; ! GlobalCF_FILECONTENTS: DWORD = $FFFFFFF; ! GlobalMalloc: IMalloc = nil; FileDropFormatEtc: FORMATETC; *************** *** 142,149 **** FileDescriptorFormatEtc: FORMATETC; ! implementation ! uses ! JvWndProcHook, JvJCLUtils; //=== TJvDragDrop ============================================================ --- 151,174 ---- FileDescriptorFormatEtc: FORMATETC; ! function CF_FILEDESCRIPTOR: DWORD; ! begin ! if GlobalCF_FILEDESCRIPTOR = $FFFFFFF then ! GlobalCF_FILEDESCRIPTOR := RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR); ! Result := GlobalCF_FILEDESCRIPTOR; ! end; ! function CF_FILECONTENTS: DWORD; ! begin ! if GlobalCF_FILECONTENTS = $FFFFFFF then ! GlobalCF_FILECONTENTS := RegisterClipboardFormat(CFSTR_FILECONTENTS); ! Result := GlobalCF_FILECONTENTS; ! end; ! ! function Malloc: IMalloc; ! begin ! if not Assigned(GlobalMalloc) then ! ShGetMalloc(GlobalMalloc); ! Result := GlobalMalloc; ! end; //=== TJvDragDrop ============================================================ *************** *** 377,380 **** --- 402,407 ---- begin inherited Create(AOwner); + Malloc; // a simple call prevents Delphi from crashing + FAcceptDrag := True; FStreamedAcceptDrag := True; *************** *** 725,732 **** initialization OleInitialize(nil); - CF_FILECONTENTS := RegisterClipboardFormat(CFSTR_FILECONTENTS); - CF_FILEDESCRIPTOR := RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR); - - ShGetMalloc(Malloc); // otherwise Delphi will crash finalization --- 752,755 ---- |