Hola de nuevo,
Más sorpresas... me encuentro en la unidad "SHDocVw_EWB" del componente "EmbeddedWB" con lo siguiente:
Código Delphi
[-]
uses
EwbAcc, Windows, ActiveX, Classes
{$IFDEF USE_OleCtrlsFix}, OleCtrlsFix{$ENDIF}, OleCtrls,
OleServer, StdVCL{$IFDEF DELPHI6_UP}, Variants{$ENDIF};
Y aquí la unidad en cuestión:
Código Delphi
[-]
unit OleCtrlsFix;
interface
uses
OleCtrls, Windows, Messages;
type
TOleControlFix = class(TOleControl)
protected
function GetIDispatchProp(Index: Integer): IDispatch;
function GetIUnknownProp(Index: Integer): IUnknown;
end;
implementation
function TOleControlFix.GetIDispatchProp(Index: Integer): IDispatch;
var
Temp: TVarData;
begin
GetProperty(Index, Temp);
Pointer(Result) := Temp.VDispatch; end;
function TOleControlFix.GetIUnknownProp(Index: Integer): IUnknown;
var
Temp: TVarData;
begin
GetProperty(Index, Temp);
Pointer(Result) := Temp.VUnknown; end;
end.
Voy a ver qué pasa con "USE_OleCtrlsFix"... pero, ¿no es esto algo parecido a lo que pretendemos hacer? Ay madre...
Actualizo: No; definitivamente no es lo que se pretende hacer, empero, tal vez sea suficiente y una forma de no tocar la VCL... desde luego acabo de encontrar dicha opción desactivada en el archivo "EWB.inc": voy a probar a activarla a ver qué ocurre...