Hallo Zusammen...
Ich nutze eine MSHTML die - woher auch immer gekommen ist. Die Definition des IHTMLPainter's sieht so aus...
Delphi-Quellcode:
// The installed version of IE for this import was IE 6.0.2600.0000
// PASTLWTR : 1.2
// File generated on 8/9/2002 3:26:08 PM from Type Library described below.
// ************************************************************************ //
// Type Lib: \WINNT\SYSTEM32\mshtml.tlb (1)
// LIBID: {3050F1C5-98B5-11CF-BB82-00AA00BDCE0B}
// LCID: 0
// Helpfile:
// HelpString: Microsoft HTML Object Library
// DepndLst:
// (1) v2.0 stdole, (C:\WINNT\System32\stdole2.tlb)
IHTMLPainter =
interface(IUnknown)
['
{3050F6A6-98B5-11CF-BB82-00AA00BDCE0B}']
// !! API fix decl
function Draw(rcBounds: tagRECT; rcUpdate: tagRECT; lDrawFlags: Integer;
hdc: hdc; pvDrawObject: Pointer): HResult;
stdcall;
function onresize(size: tagSIZE): HResult;
stdcall;
function GetPainterInfo(
out pInfo: _HTML_PAINTER_INFO): HResult;
stdcall;
function HitTestPoint(pt: tagPOINT;
out pbHit: Integer;
out plPartID: Integer): HResult;
stdcall;
end;
Auf meinem Rechner ist jedoch eine andere Version. Ich habe also folgende Definition:
Delphi-Quellcode:
// PASTLWTR : 1.2
// Datei generiert am 20.04.2006 20:09:52 aus der unten beschriebenen Typbibliothek.
// ************************************************************************ //
// Typbib: C:\WINDOWS\system32\MSHTML.TLB (1)
// LIBID: {3050F1C5-98B5-11CF-BB82-00AA00BDCE0B}
IHTMLPainter = interface(IUnknown)
['{3050F6A6-98B5-11CF-BB82-00AA00BDCE0B}']
function Draw(rcBounds: tagRECT; rcUpdate: tagRECT; lDrawFlags: Integer;
var hdc: _RemotableHandle; var pvDrawObject: Pointer): HResult; stdcall; // Unterschied in HDC
function onresize(size: tagSIZE): HResult; stdcall;
function GetPainterInfo(out pInfo: _HTML_PAINTER_INFO): HResult; stdcall;
function HitTestPoint(pt: tagPOINT; out pbHit: Integer; out plPartID: Integer): HResult; stdcall;
end;
Es hat sich in der Draw Routinen also der hdc Parameter geändert.
Mal abgesehen davon, dass ich noch nicht so ganz weis, was ein _RemotableHandel ist, ist meine eigentliche Frage:
Welche Version hat den jetzt der User, der meine Software nutzen möchte? Wie kann ich eine Software erstellen, die
diese Versionunterschiede berücksichtig? (Ist nur eine Frage lol)
Frank