ok, one step further..
As I thought there is perhaps a problem in the generated DTB.
As you can see in the DTB I posted, this OCX has only a dispinterface, no interface.
Codetools completion did always throw an exception (default dispinterface ancestor IDispatch not found), if I use it on iwMapViewCtrl1.OleServer. This exception is raised from "components\codetools\finddeclarationtool.pas".
I changed this in the DTB:
Type
_DiwMapViewCtrl = dispinterface;
_DiwMapViewCtrlEvents = dispinterface;
//Map CoClass to its default interface
iwMapViewCtrl = _DiwMapViewCtrl;
//records, unions, aliases
//interface declarations
// _DiwMapViewCtrl : Dispatch-Schnittstelle für iwMapView Control
_DiwMapViewCtrl = interface(IDispatch)
['{357CEE48-2FD4-4311-9E92-1050A4429D8C}']
// ZoomIn :
function ZoomIn:Integer;dispid 101;
...
to this:
Type
_DiwMapViewCtrl = interface;
_DiwMapViewCtrlDisp = dispinterface;
_DiwMapViewCtrlEvents = dispinterface;
//Map CoClass to its default interface
iwMapViewCtrl = _DiwMapViewCtrl;
//records, unions, aliases
//interface declarations
// _DiwMapViewCtrl : Dispatch-Schnittstelle für iwMapView Control
_DiwMapViewCtrl = interface(IDispatch)
['{357CEE48-2FD4-4311-9E92-1050A4429D8C}']
end;
_DiwMapViewCtrlDisp = dispinterface
['{357CEE48-2FD4-4311-9E92-1050A4429D8C}']
// ZoomIn :
function ZoomIn:Integer;dispid 101;
...
With this change codetools did not throw an exception and display all function/procedure/property correct.
But after the compile it always throws an EOLeSysError, if I access a property.
So I have to asked this question again. Does Lazarus/FPC support OCX Controls with dispinterface only?