AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

API Casten ala ALIAS von VB

Ein Thema von EWeiss · begonnen am 16. Okt 2008 · letzter Beitrag vom 17. Okt 2008
 
EWeiss
(Gast)

n/a Beiträge
 
#13

Re: API Casten ala ALIAS von VB

  Alt 17. Okt 2008, 09:48
Zitat von DeddyH:
Du könntest die Typdeklaration der Funktion ja entsprechend anpassen.
Delphi-Quellcode:
type
  TFunction = function(Originalrecord: TOriginalrecord): Ergebnistyp;
wird zu
Delphi-Quellcode:
type
  TFunction = function(DeinRecord: TDeinRecord): Ergebnistyp;
Viel Erfolg.
Nein das geht auf keinen fall ich muss ja die alte weiterhin verwenden.

Hier ein Sample..

Delphi-Quellcode:
type
  TMyBitmapInfo = Record
     bmiHeader : TBitmapInfoHeader;
     bmiColors : array [0..255] of RGBQUAD;
  end;
Delphi-Quellcode:
function TSkinEngine.MyCreateDIBSection (imgHdc: Hdc; Width, Height:Integer; BitCount: Integer):Integer;
var
  bi: MYBITMAPINFO;
  p : Pointer;
begin
    bi.bmiHeader.biSize := SIZEOF(bi.bmiHeader);
    bi.bmiHeader.biWidth := Width;
    bi.bmiHeader.biHeight := Height;
    bi.bmiHeader.biPlanes := 1;
    bi.bmiHeader.biBitCount := BitCount;
    bi.bmiHeader.biCompression := BI_RGB;
    Result := CreateDIBSection(imgHdc, bi, DIB_RGB_COLORS, p, 0, 0);
end;
CreateDIBSection kennt aber MYBITMAPINFO nicht ok ?

Weil diese im Original auf
Delphi-Quellcode:
type
  PBitmapInfo = ^TBitmapInfo;
  {$EXTERNALSYM tagBITMAPINFO}
  tagBITMAPINFO = packed record
    bmiHeader: TBitmapInfoHeader;
    bmiColors: array[0..0] of TRGBQuad;
  end;
  TBitmapInfo = tagBITMAPINFO;
  {$EXTERNALSYM BITMAPINFO}
  BITMAPINFO = tagBITMAPINFO;
zeigt...
Also was ich möchte ist ähnlich wie in VB MYBITMAPINFO auf die Originale DLL verlinken.

Sollte dann eigentlich so aussehen
Org..
Delphi-Quellcode:
{$EXTERNALSYM CreateDIBSection}
function CreateDIBSection(DC: HDC; const p2: TBitmapInfo; p3: UINT;
  var p4: Pointer; p5: THandle; p6: DWORD): HBITMAP; stdcall;
Neu..
Delphi-Quellcode:
{$EXTERNALSYM CreateDIBSection}
function CreateDIBSection(DC: HDC; const p2: TMyBitmapInfo; p3: UINT;
  var p4: Pointer; p5: THandle; p6: DWORD): HBITMAP; stdcall;
gruss Emil
  Mit Zitat antworten Zitat
 


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 05:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz