Nov 88 Letters
Disappearing File Icons
By Kirk Chase, Technical Editor, MacTutor
Font Sorting via the Toolbox
In reference to Ray Camerons Font Dialog Box article: Believe it or not, theres a toolbox routine which sorts font names (at least with 128K ROMs). Just have a fake (i.e. never displayed in a menu bar) menu, and use AddResMenu (menu,FONT). This does the right thing (or at least the official thing) with FONDs and NFNTs, and properly ignores fonts starting with . or % (such as bold or italic screen bitmaps for PostScript fonts). If you want to use this information in a list just call GetItem(), CountMItems(menu) times.
First of all, I want to apologize for the Stone Age way that I am contacting you. Unfortunately, I have not purchased a modem yet for my Mac, so I am unable to reach you via a BBS - however, that will soon change
Being a recent Mac convert, let me add to the accolades of others in congratulating you on a fine magazine. For those of us who are caught in the middle of the steep learning curve for Mac programming, MacTutor is a much needed resource. Keep up the good work - you can count on my subscription for as long as the magazine continues!
As one of my early learn-to-program-the-Mac projects, I tried working with Peter Korns GraphLoad program from the March 1988 MacTutor. After typing it in, compiling it, and debugging it (using MPW C 2.0), it seems to work just fine when the GraphLoad window is the front window. However, when I activate a window from another application in Multifinder, GraphLoad freezes until I reactivate its window and bring it to the front. I thought GraphLoad would run in the background so that it would always show system load even when it was not the front window. What am I doing wrong? My SIZE -1 resource has the following bits set:
Accept Suspend Events
Doesnt the Can Background bit mean that this program will run as a background program? Any help you can give me would be appreciated. [Checking the source code as distributed on the source code disk #30, the program runs fine in MultiFinder. I'm looking at it as I type and it's blinking away. You must have an error in your code. Check it against source code disk 30. -Ed]
Thurman Gillespy III, M.D.
I am a long time MacTutor reader, and would like some advice on the purchase of a programming language. I am a radiologist who would like to display true grey scale radiologic images on a Mac II for educational purposes. I need to be able to interactively overlay text and graphics.
I have several years experience programming in Microsoft BASIC (both compiler and interpreter). I have written an animated teaching tutorial on the temporomandibular joint that has been well received. I have purchased all of the CLS library extensions, and have used many of the ROM routines relating to resources, pictures, icons, etc. I also own all five volumes of IM, both volumes of Chernicoffs Macintosh Revealed and Knasters helpful Macintosh Programming Secrets (although I havent read quite everything yet ).
I am interested in migrating to Pascal, which seems to have the best combination of power and ease of use for my application (and besides, all of IM is written in it). There appear to be 3-4 potential choices, and I would like your thoughts on which would be most appropriate. I would also like your opinion on whether using MPW or MacApp would be advisable.
[Buy Lightspeed Pascal version 2.0. It is the best implementation of Pascal on the Mac and the new version is as fast and produces as tight of code as MPW Pascal. If you dont want to mess with the user interface, then use MacApp, the new version, with the new dialog windows, but be prepared for a learning curve on MPW, MacApp and object Pascal. -Ed]
Do you have an index of past articles since your premier issue? I would like to order some back issues if I knew what I have missed in the past. Im particularly interested in (Consulair) C, but assembler and Pascal articles also are of interest. In regards to the June 1988 issue, I was intrigued by the Advanced Macing/Menus as Objects in TML Pascal article. Do you have a technique or past article wherein I may put small (smaller than an ICON) bit images in a graphic menu? I would appreciate greatly any assistance you may offer. Thank you.
[Unfortunately, our first years compilation of articles (Best of MacTutor, Vol. 1) did not include an index by subject or author in the back. An index was made for it and placed in our second book (Complete MacTutor, Vol. 2). In that book though, the issue number was not given with the article (my fault - Kirk Chase). Our third book, The Essential MacTutor Vol. 3, hopefully took care of all those problems. In addition to this, Dave Kelly, our Basic School editor, has made a HyperCard stack index on his own. We try to place the stack on the source code disks if we have the space. -ed]
Edward J. Groth
After seeing the DCM promotional ad on page 23 of the June, 1988, MacTutor and being quite disenchanted with the horrible implementation of the MS FORTRAN 2.2 package, I ordered and received DCMs MACTRAN PLUS.
I sent a letter to DCM about a month ago, and since I have not heard anything from them, I must assume that they have decided to ignore it. The note that came with their package that is referred to in my letter reads as follows:
The file tlbox.Rel in the folder Other files is corrupted. You would have to reassemble the program tlbox.asm with a 68000 assembler. If you do not have one, please send the disk back to us, and we will include an uncorrupted, working copy.
I have sent you this letter for perhaps one or both of two reasons. I would like to see MacTutor supply useful and complete reviews of such things as languages. The usual magazines do not review languages but only applications. The user base needs such help. Hopefully reviews would include real comparisons of strengths and weaknesses of competing development systems.
The other reason is much more abstract. We really need to bring about some degree of maturity and responsibility within the software industry. This business of selling a blister-packed and copy protected piece of software without any responsibility to make sure that it works, at least somewhat, has got to go. There is also no recourse against extravagant and fraudulent claims made by many software developers and venders. I really have no good way to suggest for bringing this under control, but I am sure that exposure to the light of examination and comparison will certainly help. It seems to me that MacTutor is in the unique position of being able to supply such comparisons. I fully realize that this might not be viewed as the most astute business move, but I believe that being a real source of reliable information could only result in a more loyal readership.
Thanks for bearing with my frustration. If I can be of any help or provide any further information, please let me know.
[I, too, see no alternative suggestion except maybe the free market system. The amount of differing development systems and tools is just amazing, not to even mention the constant flood of upgrades. I personally do not trust a product until it has got a version 2 next to it. We will try, as space permits, to review development systems, but frankly, we do not get very many good reviews across our desks. -Ed.]
Disappearing File Icons and Other Problems
Temple Hills, MD
When you drag a disks icon into the trash can or select Erase Disk on it, Finder 5.3/System 3.2 and Finder 6.0/MultiFinder/System 4.2 sometimes forget how to redraw file icons on currently mounted HFS volumes. Heres what Ive found out so far:
(1) Finder 5.3 doesnt redraw file icons at all and starts thinking that disks are too full to record folder changes.
(2) Finder 6.0 and MultiFinder temporarily draw generic file icons, then suddenly gray the desktop, pause briefly and redraw the correct icons. (Presumably they read the desktop file during the pause.)
(3) Its a consistent property of the ejected (or erased) disk.
(4) Every disk newly formatted by my 5.3, 6.0 or MultiFinder (800K or 400K) starts out with this property:
(a) Erasing a normal disk causes that disk to exhibit the problem when its icon is dragged to the trash in the future.
(b) Erasing a disk that already has the problem causes the icons to disappear as part of the erase process, and doesnt fix the disk.
(5) A visible characteristic of such disks is the fact that the Finder doesnt recognize the space taken up by the directory and desktop. (It says empty ones have 0K in disk.)
(6) Itll happen every time with the same disk until something fixes it.
(7) Once fixed, itll never happen again unless you erase it.
Out of paranoia, I shutdown or restart when this happens. I havent lost any data yet, but its very annoying. I dont know how other versions of the Finder/System behave in this regard.
Fixing a disk with the disappearing file icons
In the process of testing whether Finder 5.5/System 4.1 had the same problem, I discovered that simply inserting the disk under 5.5 was sufficient to repair it and keep it from screwing up 5.3, 6.0 or MF. Although 6.0 and MF recover from the problem more gracefully than 5.3, they dont fix the disk the way 5.5 does. It would appear that someone removed the 5.5 fix in the development of 6.0 and MultiFinder.
ImageWriter drafts of LaserWriterd docs
This is a user question, but it has developer implications:
I often have to produce business reports to my clients describing what changes I made (or recommend making) to their computer systems. I use just about every snazzy Word 3.01 feature, including footnoting, formulas, intermixed graphics (snazzy for those not used to Macintosh), outlining, side-by-side paragraphs, style sheets, table of contents generation, etc. My clients want to see professionalism in both the interim and final deliverables of the report. Because I dont own a LaserWriter, I have to go to Kinkos and run off copies there. Thats where the problems start.
When Word detects that the Chooserd printer is a LaserWriter, it changes the font widths. (I use Times-12, mostly.) Because word wrap and tabs are affected by the width of text that precedes the right margin or tab stop, all the line breaks and tables get screwed up. As a shortcut to reformatting the entire document, I change the margins from 1.25" (IW) to 0.98" (LW). This keeps the word wrap about the same, but I still have to reformat a lot of tab settings. To save time and money that would be wasted doing this at Kinkos, I keep a LW driver in my System folder, Chooser it even though I dont have one to print to, and reformat it on my system. Then I go to Kinkos and run off a copy.
Now what do I do? Do I leave the document formatted for the LW, so I dont have to reformat it again the next time I take it to Kinkos? If I do, I wont be able to get a draft copy on my IW. Do I Chooser the IW and reformat it again, so that I can get drafts on my system? If I do, I have to reformat it again for the next deliverable. Its absolutely infuriating. My dilemma gives rise to several questions:
(1)Why should the Chooserd printer affect font width in Word? It doesnt in MacWrite. Word has to be doing it on purpose. But why? This is a question of concern to all developers of applications that print, including myself. Despite what it says at the beginning of Tech Note 72 about printing to LWs the same as IWs, we all know there are some reasons to print differently (notably page size). But is there a good reason to change font widths for LWs?
(2)More to the point, how does Word change the font width according to the Chooserd printer? I didnt see any FONT or FOND resources in Words resource fork, so it doesnt seem to be playing any APPL file overrides System file tricks. The only thing I can figure is that it could install its own QD bottlenecks (like the November 86 MacTutor article on using StdText and StdTxMeas to support tabs in text edit), and that the LW drivers QD-to-PostScript bottlenecks end up using Words bottlenecks that way.
(3)Does anyone know a way to get Word to image the page the same way for both IWs and LWs? Ill take anything: a secret flag editable with ResEdit, an FEdit patch, a disabling of the trick in question 2, anything. The direction of the change depends on the answer to question 1. That is, if theres a valid reason to make text take up more space on the LW, then Id greatly appreciate a way to make it take up more space on the IW as well. If not, Id greatly appreciate a way to make its LW output as condensed as its IW output. [I suggest you make the following assumption: MS Word 3.01 does not work on anything except a Laserwriter printer. -Ed.]
ResEdit 1.0.1 bugs under MultiFinder
Deleting a string from a STR# resource causes ResEdit to crash. My workaround for this problem is to run ResEdit under Finder 5.3/System 3.2 whenever I want to delete a string from a STR#.
Sometimes ResEdit doesnt see all resource types (or all resources within a type) in the system file. My workaround for this problem is to restart the Mac and to rerun ResEdit right after the restart.