TweetFollow Us on Twitter

Oct 94 Top 10
Volume Number:10
Issue Number:10
Column Tag:Think Top 10

Think Top 10

By Mark B. Baldwin and Craig Connor, Symantec Technical Support

This is a monthly column written by Symantec’s Technical Support Engineers intended to provide you with information on Symantec products. Each month we cover either a specific application of tools or a “Q&A” list.

Q. Can pointers to base classes be cast as pointers to derived classes?

A. Yes. Run-Time Type Identification (RTTI), allows the safe casting of base class pointers to derived classes. If the cast is not allowed, a NULL pointer is returned.

Q. How come I get an error when I declare a variable of any type with the name 'v' or 'h'?

A. There’s an enumeration in Types.h that looks like:

     
     enum { h, v };
     

which clutters the namespace for both h and v.

Q. Using TCL, when I create a series of CEditText panes in a window, why are they placed at seemingly random places on the screen?

A. The coordinates that you are setting for your CEditText object are not being interpreted as window coordinates. Have your object call FrameToWindR(Rect *windowCoordinates). This will adjust the frame of the pane to the correct position on the screen.

Q. Why doesn’t the example in the manual for CArrayIterator work? I get the following:

     File "CPtrArrayIterator_myClass.cp"; Line 7
     Error:   'gAncestors' is not a member of struct 
     'CPtrArrayIterator<myClass>'
     
     File "CPtrArrayIterator_myClass.cp"; Line 9
     Error:   unable to open input file 'CPtrArrayIterator.tem'

A. The example in the manual for CArrayIterator is incorrect. 1) Remove the line for TCL_DEFINE_CLASS. You do this because the base class for CArrayIterator is not an RTTI class. 2) Remove the #include CArrayIterator.tem. This file does not get created because you are no longer calling TCL_DEFINE_CLASS.

Q. How do I change the foreground/ background color of a CStaticText?

A. Instantiate a pointer to your CStaticText object, or if you are using VA, find where the object pointer is created in x_CMain. Then use the following formula:


/* 1 */
((*CColorTextEnvirons)myCStaticText->itsEnvirons)
 ->SetColorInfo(*RGBColor forecolor, *RGBColor backcolor);  

Notice we cast from a base to a derived class CEnvrirons to a derived class CColorTextEnvirons.

Q. How do I read in a CBitMapPane?

A. Try the following code segment. It reads a bitmap from a file and assigns it to a CBitMapPane object.

     
/* 2 */
    CPNTGFile   *theFile = NULL;
    SFTypeList  myList;
    SFReply theReply;
    Point   where;
     
    where.h=120;  where.v=190;  // SF dialog window position
             
    myList[0]='PNTG';
         
    SFGetFile(where,0,NULL,1,myList,0,&theReply);
         
    if(theReply.good)
    {
        theFile = new CPNTGFile;   // Make a File object and read the
        theFile->SFSpecify(&theReply);// data into a new BitMap
        theFile->Open(fsRdWrPerm);
        theBitMap = ((CPNTGFile *)itsFile)->ReadNewBitMap(TRUE);
     
        myBitMapPane->SetBitMap(theBitMap);
    }

Q. How do I use VA to make CIconButtons work like radio buttons? It works when I do a Try Out, but then the code is not generated.

A. Version 7.0.3 fixes this problem. Download the 7.0.3 Patch from an on-line service.

Q. How do I make a PICTGrid in a Window using VA?

A. Create the window you want to use. Temporarily create a tear-off menu view, and copy the PICTGrid from the menu, and paste it into your window. Then delete the tear-off menu.

Q. Everytime I create a VA project it takes a very long time to compile. How can I reduce the compile time?

A. Open the “Project Models:Visual Architect:@1.1” file, and compile it. From now on, the TCL files will be compiled upon the creation of a new VA project.

Q. How do I add a new project type to the project models that appear in the New Project Dialog?

A. Create a new project, include the files and libraries you want, compile it, and copy the whole folder over to the Project Models folder. Name the project file “@1.1”. The “@1” will be replaced with the project name you specify. If you have trouble, take a look at the existing project models to see the naming convention for the project files.

Special Thanks To

Steve Howard, Michael Hopkins, Colen Garoutte-Carson, Rick Hartmann, Kevin Irlen, Yuen Li, Celso Barriga, Scott Shurr, and Chris Prinos, et al.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Combo Quest (Games)
Combo Quest 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Combo Quest is an epic, time tap role-playing adventure. In this unique masterpiece, you are a knight on a heroic quest to retrieve... | Read more »
Hero Emblems (Games)
Hero Emblems 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ** 25% OFF for a limited time to celebrate the release ** ** Note for iPhone 6 user: If it doesn't run fullscreen on your device... | Read more »
Puzzle Blitz (Games)
Puzzle Blitz 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Puzzle Blitz is a frantic puzzle solving race against the clock! Solve as many puzzles as you can, before time runs out! You have... | Read more »
Sky Patrol (Games)
Sky Patrol 1.0.1 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0.1 (iTunes) Description: 'Strategic Twist On The Classic Shooter Genre' - Indie Game Mag... | Read more »
The Princess Bride - The Official Game...
The Princess Bride - The Official Game 1.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.1 (iTunes) Description: An epic game based on the beloved classic movie? Inconceivable! Play the world of The Princess Bride... | Read more »
Frozen Synapse (Games)
Frozen Synapse 1.0 Device: iOS iPhone Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Frozen Synapse is a multi-award-winning tactical game. (Full cross-play with desktop and tablet versions) 9/10 Edge 9/10 Eurogamer... | Read more »
Space Marshals (Games)
Space Marshals 1.0.1 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.1 (iTunes) Description: ### IMPORTANT ### Please note that iPhone 4 is not supported. Space Marshals is a Sci-fi Wild West adventure taking place... | Read more »
Battle Slimes (Games)
Battle Slimes 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: BATTLE SLIMES is a fun local multiplayer game. Control speedy & bouncy slime blobs as you compete with friends and family.... | Read more »
Spectrum - 3D Avenue (Games)
Spectrum - 3D Avenue 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: "Spectrum is a pretty cool take on twitchy/reaction-based gameplay with enough complexity and style to stand out from the... | Read more »
Drop Wizard (Games)
Drop Wizard 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Bring back the joy of arcade games! Drop Wizard is an action arcade game where you play as Teo, a wizard on a quest to save his... | Read more »

Price Scanner via MacPrices.net

Apple’s M4 Mac minis on sale for record-low p...
B&H Photo has M4 and M4 Pro Mac minis in stock and on sale right now for up to $150 off Apple’s MSRP, each including free 1-2 day shipping to most US addresses. Prices start at only $469: – M4... Read more
Deal Alert! Mac Studio with M4 Max CPU on sal...
B&H Photo has the standard-configuration Mac Studio model with Apple’s M4 Max CPU in stock today and on sale for $300 off MSRP, now $1699 (10-Core CPU and 32GB RAM/512GB SSD). B&H also... Read more

Jobs Board

All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.