From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,362619d79933f738 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-12-09 09:04:12 PST Path: archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!crtntx1-snh1.gtei.net!chcgil2-snh1.gtei.net!news.bbnplanet.com!nycmny1-snf1.gtei.net!news.gtei.net!colt.net!peernews3.colt.net!newsfeed00.sul.t-online.de!newsmm00.sul.t-online.com!t-online.de!news.t-online.com!not-for-mail From: Martin Krischik Newsgroups: comp.lang.ada Subject: Re: oo problem help please Date: Tue, 09 Dec 2003 17:42:27 +0100 Organization: AdaCL Message-ID: <1203233.17AvFJpsGG@linux1.krischik.com> References: <4948f537.0312081149.70179416@posting.google.com> Reply-To: krischik@users.sourceforge.net Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8Bit X-Trace: news.t-online.com 1070989415 05 23955 -ULbGALLXa++xDM 031209 17:03:35 X-Complaints-To: usenet-abuse@t-online.de X-ID: Tl16gUZfQeTCOFhi5WZ187o3cQ6EuJTw3C1KRdQR2FYBw76F8bDcg6 User-Agent: KNode/0.7.2 Xref: archiver1.google.com comp.lang.ada:3281 Date: 2003-12-09T17:42:27+01:00 List-Id: shoko wrote: > what is wrong with the following code: Wrong choices > ----car.ads---- > package car is > --car class -- > type car is tagged private; > type car_ptr is access all car'class; > > --car methods -- > procedure set_name(name:String;this:in out car); > function get_name(this:car) return string; > > private > type car is tagged > record > name:String(1..256); > end record; > I don't belive that every name should be 256 characters long. > begin >�����cars(1)�:=�car_ptr(initbus("mercedes")); �� Yes "mercedes" is not 256 Characters. You should take a look at http://www.adaic.org/standards/95lrm/html/RM-A-4-4.html http://www.adaic.org/standards/95lrm/html/RM-A-4-5.html Fact is that you got the wrong type of string. If there is a max lenght (like you want to store your vechicles in a database) then use Ada.Strings.Bounded if not use Ada.Strings.Unbounded. Or if the name is constant use a discriminant: type car ( Name_Lenght : Positive) is tagged record name : String(1 .. Name_Lenght); end record; With Regards Martin -- mailto://krischik@users.sourceforge.net http://adacl.sourceforge.net