Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   C++ zu Delphi übersetzung (https://www.delphipraxis.net/193856-c-zu-delphi-uebersetzung.html)

EWeiss 15. Sep 2017 15:03

C++ zu Delphi übersetzung
 
Wäre bitte jemand so nett und kann mir den Header nach Delphi übersetzen?

gruss

Neutral General 15. Sep 2017 15:38

AW: C++ zu Delphi übersetzung
 
Hallo,

Hier der Anfang:
Delphi-Quellcode:
type
  ISubRenderOptions = interface(IUnknown)
    ['{7CFD3728-235E-4430-9A2D-9F25F426BD70}']
    function GetBool(field: PChar; out value: BOOL): HRESULT; stdcall;
    function GetInt(field: PChar; out value: Integer): HRESULT; stdcall;
    function GetSize(field: PChar; out value: TSize): HRESULT; stdcall;
    function GetRect(field: PChar; out value: TRect): HRESULT; stdcall;
    function GetUlonglong(field: PChar; out value: UInt64): HRESULT; stdcall;
    function GetDouble(field: PChar; out value: Double): HRESULT; stdcall;
    function GetString(field: PChar; value: PChar; out chars: Integer): HRESULT; stdcall;
    function GetBin(field: PChar; value: Pointer; out size: Integer): HRESULT; stdcall;
    // ...
  end;
Ohne Gewähr.

Ein wenig dreist ist es aber schon einfach zu Fragen ob jemand für dich die Arbeit machen kann :|

EWeiss 15. Sep 2017 15:48

AW: C++ zu Delphi übersetzung
 
Zitat:

Ein wenig dreist ist es aber schon einfach zu Fragen ob jemand für dich die Arbeit machen kann
Mir läuft die Zeit davon und ich habe noch so viel zu tun. :)
Es ist ja niemand dazu gezwungen..

gruss

Fritzew 15. Sep 2017 18:10

AW: C++ zu Delphi übersetzung
 
mir war langweilig..... :-)
Delphi-Quellcode:
unit SubrenderIntf;

interface

uses
   Windows;
// ---------------------------------------------------------------------------

// Forwards
type
   ISubRenderConsumer = interface;
   ISubRenderProvider = interface;
   ISubRenderFrame = interface;

   LPCSTR = PAnsiChar;
   LPCWSTR = PWideChar;
   ULONG = Cardinal;
   LPVOID = Pointer;
   LPCVOID = Pointer; // Eventuel ^Pointer bin ich jetzt nicht sicher in dem Context
   REFERENCE_TIME = Double;    // Keine Ahnung ob das stimmt keine Referenz im *.h
   RECT = TRect;
   POINT = TPoint;

   ISubRenderOptions = interface(IUnknown)
      ['{7CFD3728-235E-4430-9A2D-9F25F426BD70}']
      function GetBool(field: LPCSTR; out value: BOOL): HRESULT; stdcall;
      function GetInt(field: LPCSTR; out value: Integer): HRESULT; stdcall;
      function GetSize(field: LPCSTR; out value: TSize): HRESULT; stdcall;
      function GetRect(field: LPCSTR; out value: TRect): HRESULT; stdcall;
      function GetUlonglong(field: LPCSTR; out value: UInt64): HRESULT; stdcall;
      function GetDouble(field: LPCSTR; out value: Double): HRESULT; stdcall;
      function GetString(field: LPCSTR; value: LPCSTR; out chars: Integer): HRESULT; stdcall;
      function GetBin(field: LPCSTR; value: Pointer; out size: Integer): HRESULT; stdcall;

      function SetBool(field: LPCSTR; value: BOOL): HRESULT; stdcall;
      function SetInt(field: LPCSTR; value: Integer): HRESULT; stdcall;
      function SetSize(field: LPCSTR; value: TSize): HRESULT; stdcall;
      function SetRect(field: LPCSTR; value: TRect): HRESULT; stdcall;
      function SetUlonglong(field: LPCSTR; value: UInt64): HRESULT; stdcall;
      function SetDouble(field: LPCSTR; value: Double): HRESULT; stdcall;
      function SetString(field: LPCSTR; value: LPCSTR; out chars: Integer): HRESULT; stdcall;
      function SetBin(field: LPCSTR; value: Pointer; size: Integer): HRESULT; stdcall;

   end;

   ISubRenderConsumer = interface(ISubRenderOptions)
      ['{9DF90966-FE9F-4F0E-881E-DAF8A572D900}']
      function GetMerit(var merit: ULONG): HRESULT; stdcall;
      function Connect(var subtitleRenderer: ISubRenderProvider): HRESULT; stdcall;
      function Disconnect(): HRESULT; stdcall;
      function DeliverFrame(start: REFERENCE_TIME; stop: REFERENCE_TIME; context: LPVOID; var subtitleFrame: ISubRenderFrame): HRESULT; stdcall;

   end;

   ISubRenderConsumer2 = interface(ISubRenderConsumer)
      ['{9DF90966-FE9F-4F0E-881E-DAF8A572D900}']
      function Clear(clearNewerThan: REFERENCE_TIME): HRESULT; stdcall;
   end;

   ISubRenderProvider = interface(ISubRenderOptions)
      ['{20752113-C883-455A-BA7B-ABA4E9115CA8}']
      function RequestFrame(start: REFERENCE_TIME; stop: REFERENCE_TIME; context: LPVOID): HRESULT; stdcall;
      function Disconnect(): HRESULT; stdcall;
   end;

   ISubRenderFrame = interface(IUnknown)
      ['{81746AB5-9407-4B43-A014-1FAAC340F973}']
      function GetOutputRect(var outputRect: RECT): HRESULT; stdcall;
      function GetClipRect(var clipRect: RECT): HRESULT; stdcall;
      function GetBitmapCount(var count: Integer): HRESULT; stdcall;
      function GetBitmap(index: Integer; var position: POINT; var size: TSize; const pixels: LPCVOID; var pitch: Integer): HRESULT; stdcall;

   end;

implementation

end.

EWeiss 15. Sep 2017 18:16

AW: C++ zu Delphi übersetzung
 
Das ist sehr nett von dir ;)
Jetzt kann ich anfangen das DVD Menu in meiner Library zu implementieren..

gruss und Danke

EWeiss 15. Sep 2017 19:17

AW: C++ zu Delphi übersetzung
 
Delphi-Quellcode:
  REFERENCE_TIME = Int64;


Ist Definiert in DirectShow9 ;)

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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