Thema: Delphi Frage zu MessageDlg

Einzelnen Beitrag anzeigen

Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#21

Re: Frage zu MessageDlg

  Alt 3. Aug 2005, 22:48
Zitat von Olli:
Übrigens wäre das wohl richtiger
Delphi-Quellcode:
type
  PStringInfo = ^TStringInfo;
  TStringInfo = packed record
    Rec : StrRec;
    pStringAddr : Pointer;
  end;
Die Rolle des ersten Elementes von StrRec scheint mir durchaus relevant, wenn wir zB Zuweisungen betrachten.
Ok du Pedant! Wenn ich das Tut mal überarbeite werd ich das berücksichtigen und korrigieren!

Zitat:
Im Tut steht ja ganz am Ende:
Womit auch klar sein sollte, mit welcher Typecast-Methode man einen String an eine API Funktion (die Daten in diesen String schreibt) übergeben sollte, wenn man sich nicht sicher ist, dass dieser String ein „Unikat“ (mit einem Referenzzähler von 1) ist.
Darf man fragen, welche Methode dies denn nach Ansicht des großen Meisters ist?!
Naja, der wichtigste Teil in diesem Satz ist:
Zitat:
[..]wenn man sich nicht sicher ist, dass dieser String ein „Unikat“ (mit einem Referenzzähler von 1) ist.
Nur eine der 3 Cast-Methoden stellt sicher, dass der übergebene Pointer auf ein Unikat zeigt und das ist @String[1], da bei dieser Methode intern UniqueString aufgerufen wird. Bei den beiden anderen Methoden werden ja auch gleichzeitig alle anderen Strings verändert, die ebenfalls den übergebenen String referenzieren. Wobei das ja nur wichtig ist, wenn die API Daten im String ablegt und ihn dadurch verändert.

Gruß, Motzi
Manuel Pöter
  Mit Zitat antworten Zitat