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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3d4b1fd63b6dc4c5 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-05 14:16:32 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.174.75.178!news-fra1.dfn.de!news0.de.colt.net!blackbush.xlink.net!blackbush.de.kpnqwest.net!scapa.de.kpnqwest.net!194.121.123.2!193.141.58.115 From: "Axeplyr" Newsgroups: comp.lang.ada Subject: Re: LONG POST - ObjectAda 7.1 Special Edition - how do I use my own packages? Date: Mon, 5 Nov 2001 23:12:12 +0100 Organization: KPNQwest Germany GmbH, customer reader site Message-ID: <3be70eb7@194.121.123.2> References: <3be70163@194.121.123.2> NNTP-Posting-Host: 194.121.123.2 X-Trace: newsreader1.lb-lan.ka.de.kpnqwest.net 1004998329 28880 194.121.123.2 (5 Nov 2001 22:12:09 GMT) X-Complaints-To: "abuse@de.kpnqwest.net" NNTP-Posting-Date: Mon, 5 Nov 2001 22:12:09 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2462.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2462.0000 X-Original-NNTP-Posting-Host: 193.141.58.115 Xref: archiver1.google.com comp.lang.ada:15866 Date: 2001-11-05T23:12:12+01:00 List-Id: Never mind - I figured out the problem!!!! :-o I had a damn SYNTAX ERROR. The whole time, I thought it was some sort of procedural error - turns out it was a typo. I left out the decllarations of my function declaration for PROCEDURE MoveCursor. Well, thanks for all of the input you guys gave me, sorry I took up your time... Later, John "Axeplyr" wrote in message news:3be70163@194.121.123.2... > Well, I still haven't figured it out. > > I have no problems creating simple projects and adding files to the project. > I've used MS Visual C++ for a couple of years now, and understand the > Windows "project" concept of building apps. > > Let me provide an example. Let's say I wish to type in a package (from my > textbook) called the "Screen" package. This screen package is a VERY basic > 2-d graphics package that allows me to move the cursor around on the screen, > etc. I need to create a specification file and a body file (code below). > So I start by creating a screen project. > > So, I type in the specification file, and I type in the body file (code > below). I save them both. > > I add them both to the project, and save the project. > > Now, I need to compile them both - first the screen specification file, then > the body file. > > This is where I get lost. > > My problem is that I can't seem to get the body file to know where the > specification file is. Maybe I don't know how to name these. Similar > packages in the Aonix library would lead me to believe that I could call > them screen.ads and screen.adb, but that doesn't work. I've tried > screen.spc and screen.bdy also. > > I can compile the specification file no problem. I've called it Screen.ada, > Screen.spc, and Screen.ads. In any case, it works fine. Then, try to > compile the body file, and receive an error. Both files are in the project. > But I receive the following errors: > > screen.adb: Error: line 26 col 41 LRM:4.1(3), Direct name, Row, is not > visible, Ignoring future references > screen.adb: Error: line 28 col 41 LRM:4.1(3), Direct name, Column, is not > visible, Ignoring future references > screen.adb: Error: line 32 col 1 LRM:3.11.1(6), Completion required for > specification 'MoveCursor', Continuing > Front end of ..\screen.adb failed with 3 errors. (0 Warnings) > Tool execution failed. > > Perhaps if I provide the code, someone can try it and tell me if they have > success: > > - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Here is the code for file screen.ads: > - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > PACKAGE Screen IS > > -- constants: the # of rows, cols on terminal > > Screen_Depth : CONSTANT Integer := 24; > Screen_Width : CONSTANT Integer := 80; > > -- subtypes giving ranges of acceptable inputs > -- to the cursor positioning operation > > SUBTYPE Depth IS Integer RANGE 1..Screen_Depth; > SUBTYPE Width IS Integer RANGE 1..Screen_Width; > > PROCEDURE Beep; > -- Pre: None > -- Post: Terminal beeps once > > PROCEDURE ClearScreen; > -- Pre: None > -- Post: Terminal Screen is cleared > > PROCEDURE MoveCursor (Column : Width; Row : Depth); > -- Pre: Column and row have been assigned in-range values > -- Post: Cursor is moved to the given spot on the screen > > END Screen; > > - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Here is the code for file screen.adb : > - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > WITH Ada.Text_IO; > WITH Ada.Integer_Text_IO; > PACKAGE BODY Screen IS > > PROCEDURE Beep IS > BEGIN > Ada.Text_IO.Put (Item=> ASCII.BEL); > END Beep; > > PROCEDURE ClearScreen IS > BEGIN > Ada.Text_IO.Put (Item=> ASCII.ESC); > Ada.Text_IO.Put (Item=> "[2j"); > END ClearScreen; > > PROCEDURE MoveCursor IS > BEGIN > Ada.Text_IO.Put (Item=> ASCII.ESC); > Ada.Text_IO.Put ("["); > Ada.Integer_Text_IO.Put (Item=> Row, Width => 1); > Ada.Text_IO.Put (';'); > Ada.Integer_Text_IO.Put (Item=> Column, Width => 1); > Ada.Text_IO.Put (Item=> 'f'); > END MoveCursor; > > END Screen; > - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Sorry for the long post, but I think everyone understands my problem now! > 8^) > > John > > "Beard, Frank" wrote in message > news:mailman.1004982492.1947.comp.lang.ada@ada.eu.org... > > If you're familiar with Windows tools, many, if not most, > > use a "project" concept. With OA, you first create a > > project (using "File/New Project" as SteveD said), then > > add files to it using the "Project/Files/Add..." option. > > If you are creating a brand new file, use the "File/New File" > > option to create the file. Once you're to the point where > > you want to compile it, you must first save it ("File/Save"), > > then add it to your project ("Project/Files/Add..."), and > > then you can compile it. > > > > I hope this makes more since. > > > > Frank > > > > PS. > > Steve, OA SE's are just like OA Professionals, but with limits > > on the number of packages, or units per library, etc., and minus > > some additional packages and bindings. The IDE and GUI Builder > > work exactly the same. > > > > -----Original Message----- > > From: Axeplyr [mailto:john.fluetter@aixtra.de] > > Sent: Saturday, November 03, 2001 12:52 PM > > To: comp.lang.ada@ada.eu.org > > Subject: Re: ObjectAda 7.1 Special Edition - how do I use my own > > packages? > > > > > > Ok, so if I type in a package spec and body that he has in the text, I > need > > to create a project that uses them, then compile, build and execute the > > entire thing? I don't need to precompile them? > > > > The book indicates that you must compile the specification file, then the > > body file before you can use them. > > > > I'll give it a try and get back - thanks for the help! > > > > John > > > >