Cover image for Kylix power solutions with Don Taylor, Jim Mischel and Tim Gentry
Kylix power solutions with Don Taylor, Jim Mischel and Tim Gentry
Taylor, Don.
Personal Author:
Publication Information:
Scottsdale, Ariz. : Coriolis, [2001]

Physical Description:
xviii, 331 pages : illustrations ; 24 cm
Title Subject:

Format :


Call Number
Material Type
Home Location
Item Holds
QA76.76.A65 T415 2001 Adult Non-Fiction Central Closed Stacks

On Order



Packed with programming solutions, this book focuses on moving from Windows to Linux. It provides readers with accurate, easy-to-understand programming approaches and solutions to problems faced when programming with Kylix. Includes CD-ROM.

Author Notes

Don Taylor is a consultant, programmer, and the founder of the Turbo User Group. He is the co-author of five books on Delphi.
Jim Mischel is a commercial software developer and Delphi expert. He has written many articles, and has authored or co-authored seven books on programming.
Tim Gentry is a network programmer and Linux expert. He has developed software for a variety of industries, including cellular telephony and online commerce.

Table of Contents

Introductionp. xv
Part I From Delphi to Kylix
Chapter 1 Comparison of Environmentsp. 3
Differences between the Environmentsp. 3
Windowing in Linuxp. 8
Where to Go for More Informationp. 11
Chapter 2 A Linux Boot Campp. 13
Files and Directoriesp. 13
Linux Programming Whirlwind Tourp. 20
The/proc Filesystemp. 27
Where to Go for More Informationp. 28
Chapter 3 Using Librariesp. 29
Creating and Using a Shared Objectp. 30
Shared Library Conventionsp. 34
Loading Libraries Dynamicallyp. 39
Cross-Platform Issuesp. 43
Where to Go for More Informationp. 48
Chapter 4 Essential C for Kylix Programmersp. 49
Pascal Programmer's C Tutorialp. 50
Using C Libraries from Kylixp. 69
Where to Go for More Informationp. 78
Part II Essential Kylix Programming Solutions
Chapter 5 Process Controlp. 81
Solution 5.1 Replacing the Current Process with a New Programp. 82
Solution 5.2 Launching a Child Processp. 89
Solution 5.3 Launching a Program and Waiting for Its Completionp. 92
Solution 5.4 Creating a Background Processp. 93
Solution 5.5 Destroying a Processp. 95
Solution 5.6 Prioritizing Processesp. 104
Solution 5.7 Reducing System Loadp. 107
Solution 5.8 Getting Process ID and User Informationp. 110
Solution 5.9 Getting Detailed Process Informationp. 113
Solution 5.10 Limiting a Process to a Single Instancep. 123
Solution 5.11 Scheduling a Processp. 128
Solution 5.12 Running a Program as the Superuserp. 137
Chapter 6 Handling Interprocess Communicationp. 139
Solution 6.1 Basic Messaging with Signalsp. 140
Solution 6.2 Obtaining Descriptions of Valid System Signalsp. 144
Solution 6.3 Creating Signal-Handling Routinesp. 146
Solution 6.4 Preventing Zombie Processesp. 153
Solution 6.5 Communicating with Console Applications via Pipesp. 157
Solution 6.6 Piping Data between Parent and Child GUI Processesp. 161
Solution 6.7 Piping Data between Independent GUI Processesp. 168
Solution 6.8 Coordinating Processes with Semaphoresp. 174
Solution 6.9 Achieving High Performance Communication with Shared Memoryp. 187
Solution 6.10 Communicating with Message Queuesp. 195
Chapter 7 Using the Filesystemp. 207
Solution 7.1 Getting the Permission Settings for a Filep. 207
Solution 7.2 Setting the Permission for a Filep. 210
Solution 7.3 Implementing File-Level Locking for Data Filesp. 212
Solution 7.4 Implementing Record-Level File Lockingp. 217
Solution 7.5 Obtaining File Attributes and Informationp. 232
Solution 7.6 Mounting Other Filesystemsp. 236
Chapter 8 Online Helpp. 245
Help System Architecturep. 246
Solution 8.1 Creating a Simple Help Viewerp. 246
Solution 8.2 Adding Help to an Applicationp. 253
Solution 8.3 Interfacing to an External Help Systemp. 257
Chapter 9 The Drawerp. 269
Solution 9.1 Getting a List of Logged-in Usersp. 270
Solution 9.2 Checking for Unread Emailp. 274
Solution 9.3 Sending Email to Local Destinationsp. 285
Solution 9.4 Using sendmail from an Applicationp. 289
Solution 9.5 Dealing with Octal Permissions Masksp. 295
Solution 9.6 Running as the Superuser (Revisited)p. 300
Solution 9.7 Using System Logging for Debuggingp. 305
Indexp. 315