Einzelnen Beitrag anzeigen

Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#8

Re: Hilfe bei C++ Code nach Delphi Code

  Alt 7. Okt 2004, 11:49
Naja, da es __FILE__ und __LINE__ nicht in Delphi gibt, gestaltet sich die Übersetzung äußerst unspektakulär:

Delphi-Quellcode:
{$IFDEF _DEBUG}
function CHECK_HR(p: HRESULT): HRESULT;
var
  acError: array[0..255] of Char;
begin
  if FAILED(p) then begin
    ZeroMemory(@acError, sizeof(Char) * 256);
    strlfmt(acError, sizeof(Char) * 256, 'DEBUG: HRESULT FAILED %i', [p]);
    MessageBox(0, acError, 'HRESULT FAILED', MB_OK or MB_ICONERROR);
  end;
  Result := p;
end;
{$ELSE}
function CHECK_HR(p: HRESULT): HRESULT;
begin
  Result := p;
end;
{$ENDIF}
Da es in Delphi keine Makros gibt, muss die Funktion aber anders aufgerufen werden. In C++ würde man einfach schreiben:
Code:
CHECK_HR(...);
In Delphi stattdessen:
if FAILED(CHECK_HR(...)) then Exit; Der Code ist übrigens nicht getestet, müsste aber funktionieren.
  Mit Zitat antworten Zitat