SWAGOLX.EXE (c) 1993 GDSOFT ALL RIGHTS RESERVED 00003 UNIT INFORMATION ROUTINES 1 05-28-9314:09ALL SWAG SUPPORT TEAM DEBUG Information IMPORT 8 Äût" Provided you have a copy of Borland Pascal 7.0, you can Single-step, traceπinto, put breakpoints etc. in routines contained in SYSTEM.TPU.ππto do so, you must take the following steps:π- Extract all Files from RTLSYS.ZIPπ- Assemble all .Asm Files With the following switches:ππ TAsm *.Asm /mx /ziππ(Ignore the Single error, as well as all warnings)ππ- Compile SYSTEM:ππ BPC SYSTEM /$D+ /$L+ππ- Add the directory wherein you keep the .Asm Files to the inCLUDE directoriesπlist of BPC.CFG and/or the "Options/Directories" of the IDE.πThat's it. The benefits are enormous, especially it you do a lot of debuggingπwith a stand-alone debugger (TD, TD286 or TD386). Like I used to do -- Until Iπdiscovered the joy of using the new IDE of BP 7. Well, too late the hero, Iπguess...ππ 2 05-28-9314:09ALL SWAG SUPPORT TEAM Interface Shell Unit IMPORT 7 Äû╚c {πNow, I could go in and edit the File by hand...( But I do have aπlife ) So I still am asking is it possible to find some sort ofπTPU stripper Program to cut out the other sections While keepingπthe needed bits still working...ππ The only thing that comes to mind is building an Interface shellπ Unit, that calls the routines you want to include from your mainπ Unit. User's can then ignore your main Compiled .TPU that willπ be required to Compile With your shell Unit. For example here'sπ a shell Unit that Uses the ClrScr Procedure from the standardπ TP Crt Unit:π}ππUnit MyCrt;πInterfaceππProcedure ClrScr;ππImplementationππUsesπ Crt;ππProcedure ClrScr;πbeginπ Crt.ClrScrπend;ππend.π 3 05-28-9314:09ALL SWAG SUPPORT TEAM Global Types In UNIT IMPORT 10 Äû╝² {πI am wondering if it is possible to pass a Record Type and File Type toπa Procedure in a Unit where the Record or File Type has notπbeen declared. if it can be done I will need a little sampleπto get me going. Thanks in advance.ππYes, as long as the Unit With the Procedure Uses the Unit in which the Typesπare declared. That's why it's frequently a good idea to move all your globalπTypes and Variables to their own little Unit:π}ππUnit Globals;ππInterfaceππTypeπ tMyRecord = Recordπ Name,Address : String[40];π Zip : String[5];π { etc.}π end;ππImplementationππend. { of Unit Globals }πππUnit LowLevels;ππInterfaceππUses Globals;ππProcedure GetMyRecord(Var ThisRecord : tMyRecord);ππImplementationππProcedure GetMyRecord(Var ThisRecord : tMyRecord); beginπ { whatever }πend;ππend. { of Unit LowLevels }πππProgram WhatEver;ππUses Globals, LowLevels;ππVarπ MainRecord : tMyRecord;π { depending on a lot of things, you might want to declare thisπ Variable in the Unit Globals, rather than here }ππbeginπ GetMyRecord(MainRecord);πend.ππ