Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Frage zu MessageDlg (https://www.delphipraxis.net/50355-frage-zu-messagedlg.html)

Motzi 3. Aug 2005 21:48

Re: Frage zu MessageDlg
 
Zitat:

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?! :mrgreen:
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

Olli 3. Aug 2005 22:09

Re: Frage zu MessageDlg
 
Zitat:

Zitat von Motzi
Ok du Pedant! ;) Wenn ich das Tut mal überarbeite werd ich das berücksichtigen und korrigieren!

Da du es ja eh angeboten hast, könnte ich dir dann gern auch helfen (im Rahmen von de-delphi).

Zitat:

Zitat von Motzi
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.

Gut, wollte nur wissen, ob wir es gleich sehen. IMO ist die Formulierung eindeutig, aber sie könnte ruhig auch noch die Auflösung enthalten ;)

Motzi 3. Aug 2005 22:26

Re: Frage zu MessageDlg
 
Zitat:

Zitat von Olli
Zitat:

Zitat von Motzi
Ok du Pedant! ;) Wenn ich das Tut mal überarbeite werd ich das berücksichtigen und korrigieren!

Da du es ja eh angeboten hast, könnte ich dir dann gern auch helfen (im Rahmen von de-delphi).

Stimmt, können es dann auch gemeinsam machen...

Zitat:

Zitat:

Zitat von Motzi
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.

Gut, wollte nur wissen, ob wir es gleich sehen. IMO ist die Formulierung eindeutig, aber sie könnte ruhig auch noch die Auflösung enthalten ;)
Ts.. du bist ja wirkliche pingelig..! ;) Hab das eigentlich absichtlich so formuliert, damit der Leser auch ein bisschen mitdenken muss (wofür heutzutage ja einige zu faul sind)! :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz