AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

Ein Thema von Mavarik · begonnen am 24. Apr 2006 · letzter Beitrag vom 26. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#1

Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 24. Apr 2006, 08:42
Hallo!

Neue Frage neuer Thred...

Wie erhalte ich aus einem hdc: _RemotableHandle

ein "normales" HDC handle?

Frank
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 24. Apr 2006, 15:39
Habe folgende Antwort gefunden:

Zitat:
Change the declaration to

function Draw(rcBounds: tagRECT; rcUpdate: tagRECT; lDrawFlags:
Integer; hdc: hdc; pvDrawObject: Pointer):
HResult; stdcall;

Notice I removed "var" from the hdc and pvDrawObject parameters.

Also, _RemoteableHandle could be declared as THandle.

For more information check out my blog post where I specifically talk
about this problem.

http://blogs.borland.com/stevet/arch...1/01/1725.aspx

-Steve
Delphi R&D
Borland Software Corp.
http://blogs.borland.com/stevet
Habe ich irgentwo nicht aufgepasst??? Wie soll das den gehen?

Frank
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 24. Apr 2006, 16:24
Hmm ich kann zur Thematik nicht wirklich viel sagen, aber deine Informationen finde ich ein wenig zu dünn...

Vielleicht solltest du alles ein wenig näher erläutern, z.b. Wo hast du das '_RemotableHandle' her und was ist ein normales HDC für dich und was wills du genau damit machen...

Bye
Christian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 24. Apr 2006, 19:18
Hallo Frank,

Borland liefert eine MSHTML.PAS mit Delphi aus. Ich habe die Schnittstellen IHTMLPainter etc. nie benutzt. Wenn ich in die Original-Unit von D5 schaue, dann stelle ich auch dort Fehler fest:

Delphi-Quellcode:
// *********************************************************************//
// Interface: IElementBehaviorRender
// Flags: (0)
// GUID: {3050F4AA-98B5-11CF-BB82-00AA00BDCE0B}
// *********************************************************************//
  IElementBehaviorRender = interface(IUnknown)
    ['{3050F4AA-98B5-11CF-BB82-00AA00BDCE0B}']
    function Draw(var hdc: TGUID; lLayer: Integer; var pRect: TGUID;
      const pReserved: IUnknown): HResult; stdcall;
    function GetRenderInfo(out plRenderInfo: Integer): HResult; stdcall;
    function HitTestPoint(var pPoint: TGUID; const pReserved: IUnknown;
      out pbHit: Integer): HResult; stdcall;
  end;
TLIBIMP ist genauso wenig fehlerfrei wie jede andere Software auch. Es ist wohl so, wie Steve in seinem BLOG schreibt - wir können die von TLIBIMP erzeugte Unit als Ausgangsbasis verwenden, aber sie muss manuell anhand des Platform SDK überarbeitet werden, wenn man keine unliebsamen Überraschungen erleben will. Mit .NET hat das alles wohl nichts zu tun, wenn die Fehler bereits in D5 enthalten sind.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 25. Apr 2006, 07:01
Zitat von Kedariodakon:
Hmm ich kann zur Thematik nicht wirklich viel sagen, aber deine Informationen finde ich ein wenig zu dünn...

Vielleicht solltest du alles ein wenig näher erläutern, z.b. Wo hast du das '_RemotableHandle' her und was ist ein normales HDC für dich und was wills du genau damit machen...

Bye
Neues Thema neuer Thread!

Siehe : meinen anderen Thread

Frank

PS: @marabu D5,D6 & D7 haben im source die IHTMLPainter überhaupt nicht dabei, weil die MSHTML in IE Version 4.0 vorliegt! (Denke ich)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 25. Apr 2006, 07:21
Ich weiß - es ging mir nur um das fehlerbehaftete TLIBIMP...

marabu
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 25. Apr 2006, 10:43
Zitat von marabu:
Ich weiß - es ging mir nur um das fehlerbehaftete TLIBIMP...

marabu
OK, hast Du eine Idee, warum man einfach die Definition ändern kann/soll???

Besonders eine THandle zu nehmen, dass ist doch nach meinem Wissen "nur" ein Integer?

Frank
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#8

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 25. Apr 2006, 10:58
Zitat von Mavarik:
Besonders eine THandle zu nehmen, dass ist doch nach meinem Wissen "nur" ein Integer?
Die in Delphi gekapselten WinAPI - Funktionen, bei denen ein Handle übergeben wird, verwenden generell THandle.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 25. Apr 2006, 11:59
Zitat von Daniel G:
Die in Delphi gekapselten WinAPI - Funktionen, bei denen ein Handle übergeben wird, verwenden generell THandle.
Na eben...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Wie erhalte ich aus einem hdc: _RemotableHandle ein HDC?

  Alt 25. Apr 2006, 12:05
Hallo Frank,

du fragst dich, warum du einfach _RemotableHandle gegen THandle (HDC) tauschen sollst bzw. kannst?

Weil der von TLIBIMP erzeugte Code an dieser Stelle falsch ist. Du musst dir den Platform SDK nehmen, dort die Beschreibung der Schnittstellen ansehen und den nach Delphi portierten Code in deine Unit eintragen. Es reicht für deine Zwecke wahrscheinlich, wenn du nur die benötigten Interfaces anpasst.

Oder habe ich dich falsch verstanden?

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz