[gelöst] C++/ Delphi Ersatz für jmp System.@_PCharLen



  • Hi zusammen,

    ich versuche grad Turbo Abbrevia 4.0 für CG2007 zu übersetzen, allerdings stolpert der Delphi Compiler über folgende Funktion:

    function _strlen(P: PAnsiChar): Integer; cdecl;
    asm
      jmp System.@PCharLen
    end;
    

    weil der Bezeichner PCharLen nicht bekannt ist.

    Kann ich das gefahrlos durch

    function _strlen(P: PAnsiChar): Integer; cdecl;
    begin
        Result := StrLen( P );
    end;
    

    ersetzen? Gibt´s da vielleicht eine bessere Lösung?



  • DocShoe schrieb:

    Kann ich das gefahrlos durch

    function _strlen(P: PAnsiChar): Integer; cdecl;
    begin
        Result := StrLen( P );
    end;
    

    ersetzen?

    Ja.

    Betreffs besserer Lösung: in Delphi XE2 gibt es in System.Win.Crtl.pas für die gängigen Funktionen der C-RTL Wrapper für Delphi. Das hilft dir momentan nicht, aber wenn du Zugriff auf XE2 hast, kannst du die Datei vielleicht auch mit älteren Versionen verwenden (mal angenommen, daß _strlen() nicht dein einziges derartiges Problem ist).



  • Alles klar, danke.
    Delphi XE2 bzw. RAD Studio XE2 haben wir leider nicht, aber Hauptsache ich bekomm´ das Paket erst einmal übersetzt.


Anmelden zum Antworten