Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Records per Prozedur übergeben (https://www.delphipraxis.net/61851-records-per-prozedur-uebergeben.html)

tomsel 27. Jan 2006 10:21

Re: Records per Prozedur übergeben
 
Zitat:

Zitat von K-Asche
@Tomsel

Warum nicht?

Du hast zwei verschiedene Records angelegt, wie du selbst sagst. Beide mögen zwar den selben Aufbau haben, sie sind aber trotzdem VERSCHIEDEN.

Du benötigst für deine Zwecke einen Record-Typ und in Form und Frame je eine Variable dieses Recordtyps. Auf den TYP kommt es an, nicht auf den Aufbau.

DGL-luke 27. Jan 2006 13:31

Re: Records per Prozedur übergeben
 
wenn sie exakt gleich aufgebaut sind, kann man sie auch hin- und hercasten ;)

Delphi-Quellcode:
type
  Trec1 = record
    num: integer;
  end;
  Trec2 = record
    num: integer;
  end;

var r1: TRec1; r2: TRec2
begin
r1.num := 5;
TRec1((@r2)^) := r1; //wie ging das gleich nochmal mit den Pointern?
//r2.num sollte jetzt 5 sein
end;
Ist aber NICHT zu empfehlen. Wenn du von einer Unit auf eine prozedur in der anderen zugreifen kannst, sollte auch der Typ verfügbar sein.

Elvis 27. Jan 2006 13:52

Re: Records per Prozedur übergeben
 
Zitat:

Zitat von DGL-luke
wenn sie exakt gleich aufgebaut sind, kann man sie auch hin- und hercasten ;)

Au, das tut so weh...
Das geht bis zu dem Moment in dem man es mit .Net probiert, welches eine typensichere Umgebung ist. Da ist ein Wert immer das was er vorgibt zu sein...

Wie Tomsel bereits schrieb: Einfach eine 3. Unit anlegen, in der dein Typ definiert wird. Units 1 & 2 können dann diesen benutzen. Kein Hack-Around, Gefriemel und sonstige "interessante" Abenteuer...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr.
Seite 2 von 2     12   

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