View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005371 | JEDI VCL | 00 JVCL Components | public | 2010-10-20 09:53 | 2010-11-09 14:14 |
Reporter | decoding | Assigned To | obones | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | not fixable | ||
Product Version | 3.40 | ||||
Target Version | Fixed in Version | ||||
Summary | 0005371: component TJvDiskFullDialog | ||||
Description | JvDiskFullDialog1.Execute raise exception class EWinDialogError - "Method not supported" | ||||
Additional Information | Embarcadero® Delphi® 2010 Version 14.0.3513.24210 | ||||
Tags | No tags attached. | ||||
2010-10-20 09:53
|
|
|
function TJvDiskFullDialog.Execute: Boolean; begin if not Assigned(SHHandleDiskFull) then // !!! not assigned raise EWinDialogError.CreateRes(@RsENotSupported); // !!! Error Result := GetDriveType(PChar(DriveChar + ':\')) = 3; if Result then SHHandleDiskFull(GetForegroundWindow, GetDrive); end; |
|
Windosw 7: procedure LoadJvDialogs; begin ShellHandle := SafeLoadLibrary(Shell32); if ShellHandle <> 0 then begin if Win32Platform = VER_PLATFORM_WIN32_NT then @SHChangeIconW := GetProcAddress(ShellHandle, PAnsiChar(62)) else @SHChangeIcon := GetProcAddress(ShellHandle, PAnsiChar(62)); @SHFormatDrive := GetProcAddress(ShellHandle, PAnsiChar('SHFormatDrive')); @FreePIDL := GetProcAddress(ShellHandle, PAnsiChar(155)); if CheckWin32Version(6, 0) then @SHShutDownDialog6 := GetProcAddress(ShellHandle, PAnsiChar(60)) else @SHShutDownDialog := GetProcAddress(ShellHandle, PAnsiChar(60)); @SHRunDialog := GetProcAddress(ShellHandle, PAnsiChar(61)); @SHFindFiles := GetProcAddress(ShellHandle, PAnsiChar(90)); @SHFindComputer := GetProcAddress(ShellHandle, PAnsiChar(91)); @SHObjectProperties := GetProcAddress(ShellHandle, PAnsiChar(178)); @SHNetConnectionDialog := GetProcAddress(ShellHandle, PAnsiChar(160)); @SHOutOfMemoryMessageBox := GetProcAddress(ShellHandle, PAnsiChar(126)); // nil @SHHandleDiskFull := GetProcAddress(ShellHandle, PAnsiChar(185)); // nil @SHStartNetConnectionDialog := GetProcAddress(ShellHandle, PAnsiChar(215)); // nil @SHOpenWith := GetProcAddress(ShellHandle, PAnsiChar('OpenAs_RunDLLA')); // nil end; ... end; |
|
Hello, Well, yes, that's the expected behavior of the component and no fix is possible. This component, and a few others, rely on undocumented APIs from Windows. If the API is not there, as under Windows 7, it cannot call it. You, as the developer, have to rely on other means to provide this information |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-10-20 09:53 | decoding | New Issue | |
2010-10-20 09:53 | decoding | File Added: jvcl-error.jpg | |
2010-10-20 10:02 | decoding | Note Added: 0017928 | |
2010-10-20 10:10 | decoding | Note Added: 0017929 | |
2010-11-09 14:14 | obones | Note Added: 0018026 | |
2010-11-09 14:14 | obones | Status | new => resolved |
2010-11-09 14:14 | obones | Resolution | open => not fixable |
2010-11-09 14:14 | obones | Assigned To | => obones |