![]() |
typecasting Problem
Hey, folgender Code funktioniert:
Delphi-Quellcode:
Dieser, der den einzigen Unterschied hat, dass Gleis1 aus "Gleis" und "1" zusammengesetzt ist, verursacht eine Access Violation:
procedure TForm_Rangierbahnhof.Button1Click(Sender: TObject);
var a,b: Twaggon; gleis1: keller; begin a:=twaggon.init(1); gleis1.push(a); b:=twaggon(gleis1.pop); end;
Delphi-Quellcode:
procedure TForm_Rangierbahnhof.Button1Click(Sender: TObject);
var a,b: Twaggon; i: integer; gleis1: keller; begin i:=1; a:=twaggon.init(1); gleis1.push(a); b:=twaggon(keller('gleis'+inttostr(i)).pop); //Access Violation end; Die Klasse "Keller" ist eine lineare Liste. Dabei fügt die Methode "push" an das Ende ein Element vom Typ TObject an und "pop" übergibt das Element am Ende und löscht es aus der Liste. Also: wo ist der Un terschied zwischen twaggon(keller('gleis'+inttostr(i)).pop); und twaggon(gleis1.pop);? Bzw. was ist an Code 2 falsch? |
Re: typecasting Problem
Zitat:
Wo liegt der unterschied?
Delphi-Quellcode:
du castest einen string auf den Typ keller. Das kann doch nicht gutgehn, oder ;)
twaggon(keller('gleis1').pop);
//vs. twaggon(gleis1.pop); greetz Mike |
Re: typecasting Problem
Du hast Recht...
Also muss ich die Gleise in ein Array packen, oder? Sowas wie FindCompnent gibts nicht für Objekte, oder? |
Re: typecasting Problem
Zitat:
greetz Mike |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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