![]() |
Re: Funktion('string').membervar
*hochschieb* :-D
ich muss einer membervariablen meines rekords(der zurückgegeben wird) doch auch einen wert zuweisen können. Ich brauche soetwas wie das hier:
Delphi-Quellcode:
MeineFunktion('andy').nickname := 'iAmAndy'
das kann doch nicht unmöglich sein oder :?: |
Re: Funktion('string').membervar
In diesem Fall musst Du mit Referenzen arbeiten. Verwende hierzu entweder direkt Exemplar von Klassen statt Records oder erstelle einen weiteren Typen hier:
Delphi-Quellcode:
von dem der Rückgabewert Deiner Funktion sein sollte.
type
PMyRecord = ^TMyRecord; Während Du im klassichen Pascal so einen Pointer auf Dein Record bei der Verwendung derefenzieren musstest
Delphi-Quellcode:
ist das in Delphi nicht länger erforderlich, so dass Dein Aufruf der Form
var
myReference: PMyRecord; begin // !ensure that myReference points to valid data! myReference^.AField := AValue
Delphi-Quellcode:
möglich ist. Du benötigst jedoch ein Konzept für den Fall, dass keine passende Referenz gefunden wurde (zB das Auslösen einer Exception), damit Du nur auf gültigen arbeitest.
function MyFunction(const AString: string): PMyRecord;
//.. MyFunction(AValue).AField := AnotherValue; |
Re: Funktion('string').membervar
Hallo,
wie wäre es denn wenn man aufhört in Records zu denken und statt dessen in Objekten denkt. Dann ist das mit der Kopie auch kein Problem mehr. |
Re: Funktion('string').membervar
@choose, danke, so gehts ^^
@jens, wenn ich z.b nur 3 variablen habe, wäre eine klasse doch nicht nötig oder? vorallem ist das create/destroy nervig bei klassen :\ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr. |
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