Thema: Delphi Mit DLLs arbeiten

Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#24

Re: Mit DLLs arbeiten

  Alt 8. Mär 2008, 13:26
Zitat von thabaker:
Zitat:
Außerdem mein üblicher Hinweis bei dem Thema: WideString lässt sich ohne Tricksereien zwischen Echse und DLL (und auch anderen Sprachen, weil normaler OleString aka BSTR)
ist das tatsächlich so? das wäre ja toll, weil widestrings eh immer mehr Verbreitung finden.
Ja klar.
WideString ist etwas langsamer als AnsiString, da es kein nativer Delphi typ ist (keine Referenzzählung, und auch noch Unicode...).
Sollte aber nicht viel ausmachen. PChars sind nicht nur heikel, weil man vergessen könnte den String vorher explizit zu kopieren, sie machen deine Anwendung auch viel anfälliger für Buffer overflows.
Egal ob unbeabsichtigt, oder als Sicherheitslücke, die andere gezielt ausnutzen könnten...
Und wie gesagt, der Code, der mit PCHars arbeitet ist einfach nur hässlich.

PChars innerhalb von optimierten Funktionen zu nehmen um Kopiererei zu sparen ist eine Sache (und das macht auch Sinn!), aber sich sinnlos auf diese mittelalterliche Art unnötige Bufferflows oder Umwege anzutun kann ich nicht ganz nachvollziehen...
Wenn du weißt, dass die DLL von dir kommt, dann wären auch AnsiString und FastMM ein schöne Lösung.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat