AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu MessageDlg

Ein Thema von BTeam · begonnen am 24. Jul 2005 · letzter Beitrag vom 3. Aug 2005
Antwort Antwort
Seite 3 von 3     123   
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, 21: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
Olli
(Gast)

n/a Beiträge
 
#22

Re: Frage zu MessageDlg

  Alt 3. Aug 2005, 22:09
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 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
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

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

Re: Frage zu MessageDlg

  Alt 3. Aug 2005, 22:26
Zitat von Olli:
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 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)!
Manuel Pöter
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz