Kylix 3.0 Enterprise (with C++)
When you run the command startbcb to bring up the C++ version of the IDE, a registration window will pop up. After filling in the data, the on-line registration went without a problem. After the registration window is closed, a nice splash window pops up. It takes quite a bit of time to load the IDE, so I can see the need for a splash screen. When the development environment is fully loaded, a default project is generated.
The IDE is comprised of several floating windows. The main window is docked to the top of the desktop, and it contains all the menus and tabs with the components that are available for use. The second window is the Object Inspector, which shows all the properties and events of an object. A property of a visible component is, for example, what color it should be, its placement rules, caption and more. Under the Events tab of the Object Inspector, you can see all the events this component supports, such as On Click, On Start Drag, On Drag Over and more. The third window is the code editor that shows files that are a part of your program. There is a tab for each open file plus a tab called Diagram. You can drag and drop components onto the Diagram tab from the Object Tree View to create diagrams of your project. The fourth window is the Object Tree View, which shows the tree hierarchy of your program as you add components to it. For a visual representation, take a look at Figure 1.
I decided to press the Run button with the default project. It turns out that my default installation of Linux didn't install the glibc-devel package. As you can imagine, this generated a lot of compile errors. It's not a big deal, but I would expect the installer to warn me about missing package dependencies. I installed the RPM and pressed the Run button one more time. This time, the compiler finished, but the linker had problems finding libX11.so. I knew exactly what was wrong; reading all the Readme files before the installation paid off. SuSE installer didn't create the symbolic link libX11.so to libX11.so.6. After I created the link manually, everything worked. I was ready to write, or should I say “point and click”, some code.
The whole IDE interface might be a bit confusing at first. After you get a feel for it, you will find it's really easy to build applications. Application design works exactly like a WYSIWG editor. I grab a few components from the component bar and drop them onto my form. I assign one or two of the components properties. What I am looking at is an application that I have not even compiled yet, but the database lookups are running. Simply setting the Active properties to true on the database components was enough to get queries going. I can see how my application would look if I had actually compiled and ran it. Take a look at Figure 2 to see what I mean.
After clicking around I decided that I wanted to see how the actual coding experience is with the tool. I grabbed a button from the component bar and placed it onto my form (application main window). When I double-clicked this button, the Object Inspector switched to the Events tab and selected the OnClick event. Meanwhile in the code editor, a code framework for the click event was built. My keyboard focus was placed at the function block start, ready for code entry. I wanted the application to close when I clicked the button that I just placed on the form. I started typing “Application->” and a small window popped up in the editor. It listed all the functions and properties of my application instance called “Application” (Figure 3).
As I typed in the letter T of the function name (Terminate) that I wanted to call, the code-completion feature eliminated properties and functions that didn't match up. When I saw what I was looking for, I scrolled up and down through the list and pressed Enter. That filled in the code in the editor, then I need to add the semicolon at the end. I thought to myself “that's nice but how about if I spice it up a bit?” I included a Linux header file called utsname.h and instantiated a structure of type utsname and name tst. I typed in tst. and waited to see what would happen. The same window popped up and listed all the structure members and their types (e.g., char). This comes in handy in those “what's that function called again?” moments.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Google's Abacus Project: It's All about Trust
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Seeing Red and Getting Sleep
- Back to Backups
- Secure Desktops with Qubes: Introduction
- Fancy Tricks for Changing Numeric Base
- Working with Command Arguments
- Secure Desktops with Qubes: Installation
- Linux Mint 18
- CentOS 6.8 Released
Until recently, IBM’s Power Platform was looked upon as being the system that hosted IBM’s flavor of UNIX and proprietary operating system called IBM i. These servers often are found in medium-size businesses running ERP, CRM and financials for on-premise customers. By enabling the Power platform to run the Linux OS, IBM now has positioned Power to be the platform of choice for those already running Linux that are facing scalability issues, especially customers looking at analytics, big data or cloud computing.
￼Running Linux on IBM’s Power hardware offers some obvious benefits, including improved processing speed and memory bandwidth, inherent security, and simpler deployment and management. But if you look beyond the impressive architecture, you’ll also find an open ecosystem that has given rise to a strong, innovative community, as well as an inventory of system and network management applications that really help leverage the benefits offered by running Linux on Power.Get the Guide