View Issue Details

IDProjectCategoryView StatusLast Update
0003474JEDI VCL00 JVCL Componentspublic2006-04-07 07:26
ReporterhumantoolAssigned Toobones 
Status resolvedResolutionfixed 
Product Version3.10 
Target VersionFixed in Version3.30 
Summary0003474: Diff between ObjSel.pas and ObjSel.h
DescriptionMicrosoft's docs about the "IDsObjectPicker" specifies to use a "PDSOP_INIT_INFO" :
   The IDsObjectPicker::Initialize method initializes the object picker dialog box with data about the scopes, filters, and options used by the object picker dialog box.

HRESULT Initialize(PDSOP_INIT_INFO pInitInfo);
  Pointer to a DSOP_INIT_INFO structure that contains the initialization data.
Return Values
 Returns a standard error code or one of the following values.
   The method succeeded.
   The contents of one or more of the members of pInitInfo are invalid.
   A memory allocation error occurred.

but your translation (Obj.pas) use :
"function Initialize(const pInitInfo: DSOP_INIT_INFO): HRESULT; stdcall;"
Additional InformationI only changed the DSOP_INIT_INFO into PDSOP_INIT_INFO
"function Initialize(const pInitInfo: PDSOP_INIT_INFO): HRESULT; stdcall;"
TagsNo tags attached.


related to 0003633 resolvedobones Error while installin JVCL 


2006-01-27 05:30


ObjSel.pas (22,923 bytes)


2006-02-06 07:14

administrator   ~0008510

Are you sure it needs to be changed?
I'm quite convinced that the const keyword makes the parameter a pointer.


2006-02-06 07:52

reporter   ~0008512

I found this difference because I had to use the ObjSel.h.
So when I wanted to call Initialize on my object I had got Violation access error.
Then I changed the declaration into:
function Initialize(const pInitInfo: PDSOP_INIT_INFO): HRESULT; stdcall;

and call it like that :
function InitObjectPicker(pDsObjectPicker: IDsObjectPicker): HRESULT;
 aScopeInit: array [0..0] of TDsOpScopeInitInfo;
 InitInfo: TDsOpInitInfo;
 Result := pDsObjectPicker.Initialize(@InitInfo);

and it worked so I presumed it was this line, besides I always believed that the var keyword makes the parameter a pointer.


2006-03-17 01:30

reporter   ~0008682

the status is always on feedback, I would like to know why ?
As I said the required type in the function Initialize is wrong and I only changed the DSOP_INIT_INFO into PDSOP_INIT_INFO :
"function Initialize(const pInitInfo: PDSOP_INIT_INFO): HRESULT; stdcall;"
Are you expecting more details ?


2006-03-17 12:34

administrator   ~0008684

No that's fine, it's just a problem of available time


2006-03-19 07:00

reporter   ~0008691

ah ok, thanks !


2006-04-07 07:26

administrator   ~0009028

This is now in CVS.

Issue History

Date Modified Username Field Change
2006-01-27 05:30 humantool New Issue
2006-01-27 05:30 humantool File Added: ObjSel.pas
2006-02-06 07:14 obones Note Added: 0008510
2006-02-06 07:14 obones Status new => feedback
2006-02-06 07:52 humantool Note Added: 0008512
2006-03-17 01:30 humantool Note Added: 0008682
2006-03-17 12:34 obones Note Added: 0008684
2006-03-17 12:34 obones Status feedback => acknowledged
2006-03-19 07:00 humantool Note Added: 0008691
2006-04-07 07:26 obones Status acknowledged => resolved
2006-04-07 07:26 obones Resolution open => fixed
2006-04-07 07:26 obones Assigned To => obones
2006-04-07 07:26 obones Note Added: 0009028
2006-04-11 05:01 obones Relationship added related to 0003633