View Issue Details

IDProjectCategoryView StatusLast Update
0005899JEDI VCL00 JVCL Componentspublic2012-09-10 14:15
ReporterMrDeveloperAssigned Toobones 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.45 
Target VersionFixed in Version3.46 
Summary0005899: TJvOpenWithDialog filename property
DescriptionThe component TJvOpenWithDialog doesn't work properly when you define a filename inside the filename property.

OS: Windows 7 (64bit)
Compiler: Delphi XE
Additional Information1. Just place a TJvOpenWithDialog component on a empty form
2. Change the filename property e.g. to Test.txt
3. Double click on the component
4. You will the only the T from the filename
TagsNo tags attached.

Relationships

related to 0005903 resolvedobones remove garbage from JvBaseDLG ? 

Activities

Arioch

2012-06-08 23:46

developer   ~0019809

Last edited: 2012-06-10 12:45

same in XE2 with last SVN

unicode troubles again

Arioch

2012-06-10 12:36

developer   ~0019812

C:\Delphi\Libs\JediVCL\jvcl\design\JvBaseDlgEditor.pas

Since Delphi 5 is no more supported, this to be removed:

type
  // (p3) TCommonDialog.Execute is protected in D5...
  TAccessProtectedCommonDialog = class(TCommonDialog);

Arioch

2012-06-10 12:45

developer   ~0019813

unit JvBaseDlg;
  TJvCommonDialogP = class(TJvCommonDialog)
  public
// procedure Execute; virtual; abstract;
  end;

  // (rom) alternative to TJvCommonDialogP
  TJvCommonDialogF = class(TJvCommonDialog)
  public
// function Execute: Boolean; virtual; abstract;
  end;

Those two classes should be removed, at least i can see no use for them now.

Arioch

2012-06-10 12:47

developer   ~0019814

Last edited: 2012-06-10 14:48

unit VCL.Dialogs

  TCommonDialog = class(TComponent)
...
  public
...
    function Execute: Boolean; overload; virtual;
    function Execute(ParentWnd: HWND): Boolean; overload; virtual; abstract;
=========

Execute() function uses some heuristics to detect parent window and call Execute with parameter.
So at least in XE2 TJvBaseDialog should override with-parameter function.
But current code is


unit JvWinDialogs;
...
  TJvOpenWithDialog = class(TJvCommonDialogP)
...
  public
    function Execute: Boolean; override;

It is to be checked and determined which Delphi version changed that and introduced overloaded Execute
=========

https://forums.embarcadero.com/thread.jspa?messageID=464595
Once there be answers, i guess we would now how correctly IfDef common dialogs implementations to choose and override the abstract function

Arioch

2012-06-10 14:28

developer   ~0019815

unit JvWinDialogs;

line 734
    @SHOpenWith := GetProcAddress(ShellHandle, PAnsiChar('OpenAs_RunDLLA'));

Should be changed to
    @SHOpenWith := GetProcAddress(ShellHandle, {$IFDEF UNICODE}'OpenAs_RunDLLW'{$ELSE}'OpenAs_RunDLLA'{$ENDIF});

2012-06-10 14:28

 

JVCL-0005899.7z (60,389 bytes)

Arioch

2012-06-11 16:38

developer   ~0019819

MrDeveloper!

check and confirm please!

obones

2012-06-12 15:46

administrator   ~0019922

Confirmed and resolved in SVN

Issue History

Date Modified Username Field Change
2012-06-04 15:14 MrDeveloper New Issue
2012-06-08 23:46 Arioch Note Added: 0019809
2012-06-10 12:36 Arioch Note Added: 0019812
2012-06-10 12:45 Arioch Note Added: 0019813
2012-06-10 12:45 Arioch Note Edited: 0019809
2012-06-10 12:47 Arioch Note Added: 0019814
2012-06-10 14:28 Arioch Note Added: 0019815
2012-06-10 14:28 Arioch File Added: JVCL-0005899.7z
2012-06-10 14:48 Arioch Note Edited: 0019814
2012-06-10 14:49 Arioch Relationship added related to 0005903
2012-06-11 16:38 Arioch Note Added: 0019819
2012-06-11 17:37 obones Status new => acknowledged
2012-06-12 15:46 obones Note Added: 0019922
2012-06-12 15:46 obones Status acknowledged => resolved
2012-06-12 15:46 obones Fixed in Version => Daily / SVN
2012-06-12 15:46 obones Resolution open => fixed
2012-06-12 15:46 obones Assigned To => obones
2012-09-10 14:15 obones Fixed in Version Daily / SVN => 3.46