TweetFollow Us on Twitter

Jun 91 Mousehole
Volume Number:7
Issue Number:6
Column Tag:Mousehole Report

Development Tools

By Larry Nedry, Mousehole, Sysop

From: Sysop

Re: System 7.0

I have just added a new SIG called “System70” for discussion about using System 7.0 and developing applications for System 7.0.

Check it out.

From: Vegard

Re: Development tools

Has anybody got experience or opinions about any of the following:

Serius Developer

Prograph

AppMaker

Prototyper

V.I.P.

I have read the reviews in MacUser, MacWorld and BYTE, but would appreciate personal opinions and experiences. For instance what about AppMaker using the TCL. Is this smart, or are Prototyper’s generated classes just as good? Has anybody run up against serious limitations with any of these tools? Can I expand on the standard User Interface elements that are being provided/generated?

If for instance I would like to make a scroll bar with three different arrows at each end for different scrolling speed, which I guess none of the above offers. (Example only)

What about OWL’s Guide? Anybody used it? How well does it integrate with other tools, for instance the ones above, Think C or HyperCard?

I’d appreciate your comments.

From: Thehulk

Re: Development tools

I like AppMaker and have used it on many occasions. The thing that I like about AppMaker the most is that it has a template language that is modifiable. In other words, with ResEdit you can modify the output of AppMaker and customize it to your hearts content. Yes, people are even using AppMaker to generate (ouch) Windows code. This is possible by creating the correct templates. The 3 different arrows scroll bar would be considered a user defined item (which AppMaker handles). The code that is generated for Think C TCL is not bad. I have not played with the latest version of Prototyper but it generated pretty bad code with version 2.x. That was why I used AppMaker. I have found that AppMaker will generate about 40 to 60 percent of the needed code. I only use AppMaker in the Think C TCL mode. I have heard that the code generated in other modes are not as good as could be but better than the old Prototyper code. All in all, I like AppMaker and I believe it’s worth the price. I used Serius and did not take to it too well. I used VIP and felt that any serious development could not take place with it.

From: Frankh

Re: Development tools

I’ve used both AppMaker and Prototyper, and the code generated by AppMaker is much, much better than the stuff Prototyper produces. Prototyper has *slightly* better tools, but the code is so absolutely awful that you *have* to re-write it. The AppMaker generated code is quite good, modular and you can use it without re-writing it. AppMaker also lets you modify the code templates, so you can fine tune the code AppMaker generates. It’s a good program, far better than Prototyper. As for expanding on the user interface elements - as you mentioned, all of these tools (at least Prototyper and AppMaker) are limited.

The only exposure I’ve had to OWL’s hypertext system is through the PageMaker 3 “help” DA. It was useless - nice looking, but useless.

From: Smug1

Re: Development tools

I am still at the beginning stage, although I have been at it awhile, time devoted... anyway, I have tried V.I.P., as an easy way to program, but since it uses so many of the information used in a “regular” environment (in my case, Think Pascal) I just turned back in. For the trouble (in MY case) I would rather get more versatile with the native code. Also I have Prototyper 2.X, and, if you are not into OOP, it is a much easier environment to use. It generates a LOT of stuff you don’t need, but the interface is pretty good. I am currently using AppMaker, trying to get into the OOP thing. It is not as fun to use as Prototyper, but it has more bells and whistles, and in general gives better code from what I can tell. Of all three, for the future of OOP, AppMaker may be your best choice. (Before buying AppMaker, I contacted SmethersBarnes for update, OOP info, they said maybe in the future it would support OOP & TCL, but when.....???)

[Bowers Development just announced a MacApp compatible version of AppMaker (version 1.2) which will generate code for Object Pascal and C++. This makes it even a better value since SmethersBarnes latest release of Prototyper (version 3.0) had not been updated for awhile, and they declined to give me a shipping date for their update. Translated, this means they are not close to shipping. Maybe we'll hear more at MacWorld in Boston.-ed]

From: Jcm

Re: Concerning SFPGetFile and

multiple selections

I’m trying to write a Think C object using SFPGetFile to get a list of files. Everything works correctly EXCEPT that I am unable to find the correct volume/directory information concerning the file to be added to the list.

While the fName field of my global SFReply record is correctly set at the time of a openButton event in the GetDLOGHook, the vRefNum field is seemingly not valid.

Does anyone have any ideas? Oh yes, I’m using boomerang and need to stay compatible with it.

[The vRefNum is a working directory number under HFS. You should use PBGetWDInfo() to get the real volume reference number and directory ID in ioWDVRefNum and ioWDDirID, respectively. If you are saving this information for future reference, you will need to get the volume’s name with PBGetVInfo() because the volume reference numbers are assigned at mounting time. This will not help you though with volumes of the same name, but it is a start.

You can also get set the globals CurDirStore with the directory id and SFSaveDisk with the negative of the volume id before calling SFGet or SFPut File routines. You should check Inside Macintosh Volume IV and Mac DTS sample code on file management and the standard file manager which has examples on multiple file selections.-ed]

From: Arlen

Re: Mac to Vax...burp!

I’ve had some fun working between Vaxen and Macs in the past.

First, command-K won’t prepend the laser prep file to the postscript code, but command-F (I believe) does. In any case, I don’t believe this will work (at least I’ve never gotten it to). I haven’t completely hacked the prep file, but there’s a place in it where it asks if the device is “LaserWriter” (dictionary, not Appletalk name). The DEC lasers aren’t called that, and I believe this is the root of the troubles I’ve had.

Second, in the download area “System” is a DA called AddLPrep. This takes a file gathered by command-K and prepends some of the laser prep file to it. Then try uploading it and printing it. Mark Seeburn of Seeburn Engineering in Cedarburg WI gave AddLPrep to me and he’s used it often. The one uploaded here is for laserwriter driver 5.x, I think so if you’re using 6.x you may be out of luck.

Third, just for grins, did you try activating the print to file button on the laserwriter dialogue with ResEdit? That might trap the full prep file (I don’t know, as I’ve never tried it) and you could hack from there.

General Vax info: Vax uses <cr> for end of record when there is one. Binary files don’t have one. Have you tried “Set File Type Binary” from within Vax Kermit before sending the file up? The VAX print queue will also do some interpretation of the characters sent it, so try /parameter=(data=postscript) on the print command. Don’t know that it’ll work, but its worth a shot.

Wise to pass on Pathworks. Unless your printer is directly connected to the VAX (not attached to a terminal server or such) you still won’t be able to reach it. Silly, yes, but typical of DEC.

From: Jumpcut

Re: ANSI-A4 Help

I’m in the middle of this project and stupidly I loaned out my Think manuals. Can anyone answer this off the top of their head?

I’m writing an INIT that installs a patch that writes to a text file, and I was using fopen(), fseek(), fprintf(), and fclose(). However, I get link errors on these four when building my code resource.

Obviously, they’re not in ANSI-A4. So where are they? They are in the regular ANSI, but that won’t work. The source code for fseek() is on my program disk, but it won’t compile-- it gets some register error.

Any ideas?

From: Lawson

Re: bitmapped image outlining

Youse guys... MacTutor had an article about converting PICTs to Regions (the exact title as a matter of fact). To do so one converts a bitmap to a region, then one can inset region and use FrameRegion to do what you need. Handles donuts, is extremely fast, and the source code is available from MacTutor...June 89, by Ted Cohn... I plan on downloading it myself (that is why I am here today...)...

BTW, for color quick draw, there is a 32-bit QD routine that does all of this for you (BitMapToRgn or somesuch...). It is documented in Vol 1 #1 of develop magazine from Apple.

From: Lawson

Re: THINK C Compilation and RAM cache

The latest issue of Thinkin’ Cap from SPLAh contains benchmarks on speeding up Think C/Pascal. They suggest that 96K for the cache is about optimal...

From: Champ

Re: Asynch Sound and Debug Code

The debug code is messing things up. Apparently, Think’s debug code gets in the way of the callback routine which is called at interrupt time. As soon as I surrounded all the code that gets called at interrupt time with {$D-}...{$D+} everything worked fine. Hope this helps someone else.

From: Derek

Re: Serial Port

I have a question and hope someone can help me. :)

First I was looking for the program called: BusyOut for my BBS, then I decided that since my modem already has a ‘strange’ Hayes command set, that I wanted to write my own equivalent program. :)

The question is how can I do this in Think C? I have written programs in C and Pascal for the Mac, IBM and VAX. I have used the Mac toolbox a lot. But I am kinda rusty. :)

Anyone have a simple code example that I can learn from on how to do this? For this program, the serial port is already open. How I know how large the buffer is, what baud rate? How I send a simple Hayes command, and receive the OK or 0 it returns?

I also want (for another program) to know how to open the port & buffer and also read from it). Sorry if my questions are a bit basic, but I been a little stuck on the serial port and also rusty with the Mac toolbox. :)

Derek Beda

The Next Generation

408-432-3424

FidoNet: 143/270

From: Frankh

Re: Serial Port

I was about to upload my Pascal translation of some simple serial port code (in assembly) that I wrote for MacTutor a while back. Seems that someone has already uploaded it! It’s in the Language library, and it’s called Serial.sit (requires Stuffit Classic to unstuff). Even though it’s in Pascal, it should be easy to translate into C.

From: Emrte

Re: List Manager

I’ve written some number crunching code, the results of which are tables.

So, I thought, here’s the time to get familiar with the List Manager. Using Think C 4.02 and Prototyper 3.0, I generated what I needed (after some mods to the Prototyper code). My next attempt was to try and copy selected cells (which could be disjointed) into the clipboard for copying to a spreadsheet or data graphics app. That’s where I ran into trouble. My routine can follow each selected cell and get its contents, but is there a way to directly access the cell contents of selected cells from the List Record? I guess field delimiters would have to be inserted too.

I’d appreciate any help for this back burner project, perhaps even article or so for those of us in scientific/engineering areas that have worked for ages with Fortran formatting.

Tony Euser

EMR-Canada

MTL@EMRCAN

From: Rguerra

Re: Monitor Depths

Can anyone tell me how one can poll the Slot Manager to find the exact pixel depths that are supported by a given monitor? The Slot Manager chapter isn’t exactly straightforward in this matter. Is there a reference or (better still) a code example showing the data structures or parameter blocks used to do this? I need to be able to grab this info on systems that do NOT implement the newer “HasDepth” calls documented in recent tech notes. Thanks for any help

From: Morendil

Re: video slot

Yep. You have to scan the ‘scrn’ resource Id=0 in the System file. There is a field that gives the screen’s slot number. But this will work only if the resource has been set up correctly. (Some bit in the GDevice tells you whether that is the case). Otherwise, the base address of the bitmap should look like FsXXXXXX, or sXXXXXXX, where s is the slot number.

From: Johnbaro

Re: video slot

Thanks for the info. Is this documented anywhere that you know of?

From: Morendil

Re: video slot

No... At least not in IM. I might send source code, but I can’t upload it here (I’m writing this on a PC !). If you have a fax number maybe... Anyway it’s pretty straightforward once you know what to look for... Try IM V, the chapter on GDevices, it’ll give you a lot of info.

From: Johnbaro

Re: video slot

IM V, the chapter on GDevices doesn’t say much about how to find a video card’s slot - the only place slot is mentioned is in the procedure definitions. You need to pass slot as a parameter in all Retrace Manager calls. Sample code would be great.

From: Michael

Re: OOP

I want to learn OOP; currently, I have Think Pascal 3.0.1, and the TCL that comes with it. Is there a book that someone can recommend to me? I don’t have the money (or the yen currently) to get MPW. What I would like is a book on OOP techniques that uses examples, and that doesn’t rely upon MPW--because I don’t have MPW.

From: Lawson

Re: OOP

The Macintosh Programming Primer (Pascal) vol. II has a tad in the last couple of chapters on Think Pascal and the TCL’s. Thinkin’ CAP from SPLAsh (Symantec Programming Languages Association) has articles about the TCL’s. The editor/publisher is Greg (TCL) Dow. Can’t find the address, but it is available from Symantec.

The MacApp books from the Macintosh Inside Out series are pretty good, but MPW-oriented. Object Oriented Programming for the Macintosh uses MPW Pascal, but Think Pascal is pretty much compatible with MPW (Object) Pascal. Hope this helps...

From: Thehulk

Re: irregular windows

You need to familiarize yourself with WDEF’s to get irregular shaped windows.

From: Don

Re: irregular windows

Thanks for the response I’m new at BBS operation and am looking for a couple of examples so that I can understand what’s in Inside Macintosh. If you have some suggestions I would very much appreciate them. I will work on the WDEFs though in the mean time.

From: Thehulk

Re: irregular windows

Do yourself a favor and order the compiled versions of MacTutor. They have articles on things like irregular window WDEFs. Good Luck.

From: Thehulk

Re: Mouse Drawing

Are you looking for specific code to do this or the general idea? I’ll give you the general idea but you really should try to work this out yourself if you are learning to program. First you look for a mouse down event and get the position of the mouse (in the current grafport) and then you wait for a mouse up event and note the new position of the mouse (in the event record) and the use a QuickDraw call LineTo() with the coordinates of the mousedown position. Sounds like you could use the book Macintosh Programming Primer by Mark & Reed. (Actually you don’t really even need to note the mouse up position for simple line drawing.)

From: Don

Re: Mouse Drawing

Thanks again for the info I am currently working my way through the Macintosh Programming Primer when I have the time (I don’t have much), and I’ll go ahead and try to puzzle out the code. Thanks again

From: Richard

Re: Think C error message

WindowInit() {

gHelloWindow=GetNewWindow( BASE_RES_ID,

NIL_POINTER, MOVE_TO_FRONT );

ShowWindow (gHelloWindow );

SetPort (gHelloWindow );

MoveTo (HORIZONTAL_PIXEL, VERTICAL_PIXEL );

DrawString(“\pHello, World”);

}

I type in the sample program from Macintosh Programming PRIMER Volume I and try to run this program. At line-8 “DrawString(“\pHello, World”);”, I have an error message which said “illegal instruction” when I run the program. Could someone tell me what wrong with it? I believe there is no typing error.

From: Istewart

Re: Think C error message

I presume that this is just a fragment of the complete program. Have you made sure that you’ve added the appropriate WIND resource to your project’s .rsrc (resource) file? This routine ISN’T checking that the GetNewWindow completed properly, and if the resource isn’t there, it won’t.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Apple iMovie 10.1.6 - Edit personal vide...
With an all-new design, Apple iMovie lets you enjoy your videos like never before. Browse your clips more easily, instantly share your favorite moments, and create beautiful HD movies and Hollywood-... Read more
TechTool Pro 9.5.1 - Hard drive and syst...
TechTool Pro has long been one of the foremost utilities for keeping your Mac running smoothly and efficiently. With the release of version 9, it has become more proficient than ever. TechTool... Read more
Jamf Pro 9.99.0 - Powerful sysadmin/ente...
Jamf Pro (formerly Casper Suite) is the EMM tool that delights IT pros and the users they support by delivering on the promise of unified endpoint management for Apple devices. At Jamf, connecting... Read more
VueScan 9.5.78 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
Adobe Lightroom 6.10.1 - Import, develop...
Adobe Lightroom is available as part of Adobe Creative Cloud for as little as $9.99/month bundled with Photoshop CC as part of the photography package. Lightroom 6 is also available for purchase as a... Read more
iPhoto Library Manager 4.2.7 - Manage mu...
iPhoto Library Manager allows you to organize your photos among multiple iPhoto libraries, rather than having to store all of your photos in one giant library. You can browse the photos in all your... Read more
Smultron 9.4 - Easy-to-use, powerful tex...
Smultron 9 is an elegant and powerful text editor that is easy to use. Use it to create or edit any text document. Everything from a web page, a note or a script to any single piece of text or code.... Read more
TextSoap 8.4 - Automate tedious text doc...
TextSoap can automatically remove unwanted characters, fix up messed up carriage returns, and do pretty much anything else that we can think of to text. Save time and effort. Be more productive. Stop... Read more
Merlin Project 4.2.3 - $349.00
Merlin Project is the leading professional project management software for OS X. If you plan complex projects on your Mac, you won’t get far with a simple list of tasks. Good planning raises... Read more
QuarkXPress 13.0.0.0 - Desktop publishin...
QuarkXPress 2017 is the new version that raises the bar for design and productivity. With non-destructive graphics and image editing directly within your layout, you no longer have to choose between... Read more

Latest Forum Discussions

See All

Goat Simulator PAYDAY (Games)
Goat Simulator PAYDAY 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: ** IMPORTANT - SUPPORTED DEVICES **iPhone 4S, iPad 2, iPod Touch 5 or better Goat Simulator: Payday is the most... | Read more »
Zombie Gunship Survival Beginner's...
The much anticipated Zombie Gunship Survival is here. In this latest entry in the Zombie Gunship franchise, you're tasked with supporting ground troops and protecting your base from the zombie horde. There's a lot of rich base building fun, and... | Read more »
Mordheim: Warband Skirmish (Games)
Mordheim: Warband Skirmish 1.2.2 Device: iOS Universal Category: Games Price: $3.99, Version: 1.2.2 (iTunes) Description: Explore the ruins of the City of Mordheim, clash with other scavenging warbands and collect Wyrdstone -... | Read more »
Mordheim: Warband Skirmish brings tablet...
Legendary Games has just launched Mordheim: Warband Skirmish, a new turn-based action game for iOS and Android. | Read more »
Magikarp Jump splashes onto Android worl...
If you're tired ofPokémon GObut still want something to satisfy your mobilePokémon fix,Magikarp Jumpmay just do the trick. It's out now on Android devices the world over. While it looks like a simple arcade jumper, there's quite a bit more to it... | Read more »
Purrfectly charming open-world RPG Cat Q...
Cat Quest, an expansive open-world RPG from former Koei-Tecmo developers, got a new gameplay trailer today. The video showcases the combat and exploration features of this feline-themed RPG. Cat puns abound as you travel across a large map in a... | Read more »
Jaipur: A Card Game of Duels (Games)
Jaipur: A Card Game of Duels 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: ** WARNING: iPad 2, iPad Mini 1 & iPhone 4S are NOT compatible. ** *** Special Launch Price for a limited... | Read more »
Subdivision Infinity (Games)
Subdivision Infinity 1.03 Device: iOS Universal Category: Games Price: $2.99, Version: 1.03 (iTunes) Description: Launch sale! 40% Off! Subdivision Infinity is an immersive and pulse pounding sci-fi 3D space shooter. https://www.... | Read more »
Clash of Clans' gets a huge new upd...
Clash of Clans just got a massive new update, and that's not hyperbole. The update easily tacks on a whole new game's worth of content to the hit base building game. In the update, that mysterious boat on the edge of the map has been repaired and... | Read more »
Thimbleweed Park officially headed to iO...
Welp, it's official. Thimbleweed Park will be getting a mobile version. After lots of wondering and speculation, the developers confirmed it today. Thimbleweed Park will be available on both iOS and Android sometime in the near future. There's no... | Read more »

Price Scanner via MacPrices.net

Huawei Unveils New ‘Business-Styled’ MateBook...
Huawei has introduced a trio of new MateBook laptops, expanding its mobile portfolio and building on its success in delivering attractive and powerful high-end devices. The company claims the HUAWEI... Read more
Deal! Gold 12-inch 1.2GHz Retina MacBook for...
Amazon has the 2016 Gold 12″ 1.2GHz Retina MacBook (MLHF2LL/A) on sale for $350 off MSRP for a limited time. Shipping is free: - 12″ 1.2GHz Gold Retina MacBook: $1249.99 $350 off MSRP We expect this... Read more
13-inch 2.0GHz MacBook Pros on sale for $100...
B&H has the non-Touch Bar 13″ 2.0GHz MacBook Pros in stock today and on sale for $100 off MSRP. Shipping is free, and B&H charges NY & NJ sales tax only: - 13″ 2.0GHz MacBook Pro Space... Read more
15-inch 2.2GHz Retina MacBook Pro, Apple refu...
Apple has Certified Refurbished 2015 15″ 2.2GHz Retina MacBook Pros available for $1699. That’s $300 off MSRP, and it’s the lowest price available for a 15″ MacBook Pro. An Apple one-year warranty is... Read more
Apple refurbished 9-inch and 12-inch iPad Pro...
Apple has Certified Refurbished 9″ and 12″ Apple iPad Pros available for up to $160 off the cost of new iPads. An Apple one-year warranty is included with each model, and shipping is free: - 32GB 9″... Read more
Apple Certified Refurbished iMacs available f...
Apple has Certified Refurbished 2015 21″ & 27″ iMacs available for up to $350 off MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are available: - 21″ 3.... Read more
Sale! 15-inch 2.6GHz Silver Touch Bar MacBook...
DataVision has the 15″ 2.6GHz Silver Touch Bar MacBook Pro (MLW72LL/A) on sale for $2199 including free shipping. Their price is $200 off MSRP, and it’s the lowest price available for this model (... Read more
A Kaby Lake Processor Upgrade For The MacBook...
Now they tell me! Well, actually Apple hasn’t said anything official on the subject, but last week Bloomberg News’s Mark Gurman and Alex Webb cited unnamed “people familiar with the matter”... Read more
Kodak’s Camera-First Smartphone EKTRA Launche...
The Eastman Kodak Company and Bullitt Group have announced the availability of a U.S. GSM version of the KODAK EKTRA Smartphone. The U.S. launch coincides with a software update addressing requests... Read more
Apple Launches App Development Curriculum for...
Apple today launched a new app development curriculum designed for students who want to pursue careers in the fast-growing app economy. The curriculum is available as a free download today from Apple... Read more

Jobs Board

*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description:SalesSpecialist - Retail Customer Service and SalesTransform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Systems Engineer - California Polyte...
Cal Poly, San Luis Obispo Apple Systems Engineer Department: ITS - Customer & Tech Support (134900) College/Division: Academic Affairs Salary Range: Position Read more
Best Buy *Apple* Computing Master - Best Bu...
**508718BR** **Job Title:** Best Buy Apple Computing Master **Location Number:** 001526-Odessa-Store **Job Description:** **What does a Best Buy Apple Computing Read more
Data Engineer - *Apple* Media Products - Ap...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.