View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003474 | JEDI VCL | 00 JVCL Components | public | 2006-01-27 05:30 | 2006-04-07 07:26 |
Reporter | humantool | Assigned To | obones | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 3.10 | ||||
Target Version | Fixed in Version | 3.30 | |||
Summary | 0003474: Diff between ObjSel.pas and ObjSel.h | ||||
Description | Microsoft's docs about the "IDsObjectPicker" specifies to use a "PDSOP_INIT_INFO" : IDsObjectPicker::Initialize 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); Parameters 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. S_OK The method succeeded. E_INVALIDARG The contents of one or more of the members of pInitInfo are invalid. E_OUTOFMEMORY A memory allocation error occurred. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/directory_object_picker.asp) and http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ad/ad/idsobjectpicker_initialize.asp but your translation (Obj.pas) use : "function Initialize(const pInitInfo: DSOP_INIT_INFO): HRESULT; stdcall;" | ||||
Additional Information | I only changed the DSOP_INIT_INFO into PDSOP_INIT_INFO "function Initialize(const pInitInfo: PDSOP_INIT_INFO): HRESULT; stdcall;" | ||||
Tags | No tags attached. | ||||
2006-01-27 05:30
|
ObjSel.pas (22,923 bytes) |
|
Are you sure it needs to be changed? I'm quite convinced that the const keyword makes the parameter a pointer. |
|
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; var aScopeInit: array [0..0] of TDsOpScopeInitInfo; InitInfo: TDsOpInitInfo; begin ... Result := pDsObjectPicker.Initialize(@InitInfo); end; and it worked so I presumed it was this line, besides I always believed that the var keyword makes the parameter a pointer. |
|
Hello, 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 ? |
|
No that's fine, it's just a problem of available time |
|
ah ok, thanks ! |
|
This is now in CVS. |
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 |