Thema: Delphi Portierung von C++

Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#4

Re: Portierung von C++

  Alt 25. Mär 2010, 11:37
Ein PAnsiChar geht natürlich nicht so einfach, dann wäre die Struktur nicht identisch.
Die Größe des Arrays Name ist dynamisch und damit die Größe des gesamten Records.
Delphi-Quellcode:
type
  PIMAGEHLP_SYMBOL = ^TIMAGEHLP_SYMBOL;
  TIMAGEHLP_SYMBOL = record
    SizeOfStruct: DWORD; // set to sizeof(IMAGEHLP_SYMBOL)
    Address: DWORD; // virtual address including dll base address
    Size: DWORD; // estimated size of symbol, can be zero
    Flags: DWORD; // info about the symbols, see the SYMF defines
    MaxNameLength: DWORD; // maximum size of symbol name in 'Name'
  private
    FName: array[0..0] of AnsiChar; // symbol name (null terminated string)
    function GetName: PAnsiChar;
  public
    property Name: PAnsiChar read GetName;
  end;

function TIMAGEHLP_SYMBOL.GetName: PAnsiChar;
begin
  if MaxNameLength = 0 then
    Result := nil
  else
    Result := @FName;
end;
  Mit Zitat antworten Zitat