Months ago I wrote classes to read a Microsoft Excel file. It was good enough for the client who needed it to read values. Simply ascii strings and numbers.
Later we included it in our plugin collection and a couple of wishes came. First our classes didn't do well with text encoding. They read only binary xls files and not the newer xml based files. But biggest problem was performance. Especially with large files.
How to solve those problems?
Well, one reason you use plugins is that you want to save time and avoid recreating the wheel. So do we. We decided to go with libXL, a library for reading and writing excel files. The new plugin includes features like this:
Read and Write Excel files.
no need for Microsoft Excel (this is not OLE)
Generate new files from scratch
Extract data from Excel files
Edit existing files
Supports Excel 97-2003 binary formats (xls) and Excel 2007/2010 xml formats (xlsx).
Fully unicode compatible.
Crossplatform solution for Mac, Linux and Windows.
Of course this has a price. In addition to our plugin which comes with the Complete, you need a license for libxl which costs $199 per platform and developer. Or $1199 for all platforms and all developers per company. Check the website for more details.
Our old plugin will be removed from official releases.
Well, first choice is of course the conference hotel Hotel Amadeus. With keyword "REALSTUDIO", you get the rooms for
Single room, 88 Euro
Double room, 108 Euro
Studio room, 138 Euro
You may find cheaper prices on some hotel booking websites, but the prices above include breakfast and can be cancelled. Whether you need a breakfast? Well, we have ordered some cookies for the registration and the coffee breaks. But this won't replace a real breakfast of course.
If you travel low budget, you may check other hotels. For example Pension Alex is just 300 meter away and we found deals for just 30 Euro per night for one person. For around 50 Euro per night, you can also stay in Hotel Klein or Hotel Borger.
on Windows with Visual Studio 2008. Maybe someone reading this can help?
We recompiled 400 plugins with Visual Studio 2008 with static multi threaded runtime.
Now on launch the init code of the runtime allocates thread local storage space. After 100 plugins called TlsAlloc, it fails. And Real Studio stops loading any more plugins.
What can we do?
Increase TSL limit, but how? At least for the IDE raising the limit could help.
Link with DLL runtime? No, we really don't want you to be required to include vcrt80.dll with your applications.
Link with LibC instead of LibCMT? That could help, but Visual Studio 2008 has no LibC without multithreading.
Recompile own runtime library and comment out all those multithread stuff? Well, a lot of work and I bet those multi thread stuff has a reason why it exists.
Or Real Studio is changed, so plugins are unloaded when Real Studio read the declarations. (except those plugins with controls)
Our SQL Plugin works with the spatialite library. Simply load it like SQLite library.
ZipFileMBS and UnzipFileMBS classes work with encryption now. (will come in 11.3pr2)
RegistryFileTypeMBS works on Windows 7 only if application is run as administrator.
We are working on a rewrite of the XLS Plugin.
With 11.3 we now use Unicode versions for Windows API. This affects the following plugin parts: WinDragDrop, Overlay, WinUSBDevice, WindowsDiscInfo, WinUSB, DDE, WindowsDNS, WindowsAdmin, Process and Win.
NICKENICH, Germany (August 18th, 2011) -- Monkeybread Software releases version 1.3 of the application Timed Screenshot, a simple background utility to save screenshots to a folder every few seconds.
Timed Screenshot v1.3 is made with REALbasic from REAL Software, Inc.
Requires Mac OS X; source code is included. This application shows REALbasic developers how to use the screenshot functions from the MBS Plugins. Also you can see how to make a background only application (no dock icon).
The application is freeware, but contributions are accepted through PayPal.
New in version 1.3:
* Now intel only and works with Mac OS X 10.7 Lion.
New in version 1.2:
* Added new option for reducing the maximum screen count. This way you can make sure a second or third screen is not captured.
Moving 427 plugins to a new compiler is a huge task.
From Codewarrior 8 and Visual Studio 2005, we moved all plugin parts to compile with Visual Studio 2008.
Some DLLs are smaller, some are bigger. But in general I think the code from Visual Studio is faster than the code produced by Codewarrior which is at least 7 years older. Good news is also that we can now easier use some Windows technologies, especially COM objects.
Also I wrote code to identify stuff we do not need to include in a plugin, so I can strip those files. Especially as a smart linker is not always smart on creating small libraries.
Be sure to test your app with new plugins once we upload the first 11.3 prerelease. Some things may have changed. Especially we now use Unicode in all Windows plugins for texts.
PS: We use VIsual Studio 2008 instead of Visual Studio 2010 because the earlier one supports Windows 2000. And as long as we are not forced by Microsoft to move to a newer version, we can continue to support Windows 2000 and newer.
The monthly meeting for the Atlanta Real Studio user group is tonight on Monday, August 15th, 2011 from 6pm to 9pm!
Who: Everyone interested in developing in REAL Studio
What: Monthly Meeting
Where: Aldo's Italian Restaurant
When: August 15th, 2011 - 6pm to 9pm
Why: We'll be presenting a look at the Real Studio menu designer. We'll also be talking about all of the latest news, Real World 2012 and product announcements!
Just a quick note: If you have companions, you can register them with us. For just 59 Euro your friends or relatives can join us in the hotel. That includes lunch, coffee breaks, drinks, wireless network and all the other benefits.
But of course we must limit that to people who are not interested in Real Studio directly.
While the presentations are running, we invite companions to join my wife for a little trip to either Hessen-Center or the historic city center.
Earlier this week I sent a newsletter. Thanks to everyone who read it.
Now one of the question was whether support for Mac OS X 10.4, PPC, Windows 2000 and XP is needed.
We got replies and I counted quickly through them: About 80% need 10.4, PPC and XP. Seems like a lot of companies still have older PCs or G5s running. Windows 2000 seems to be dead, but I think I can keep plugins working on Windows 2000 without supporting. I plan to use Visual Studio 2008 and not Visual Studio 2010. Reason is that VS 2010 cannot create DLLs for Windows 2000.
Windows XP seems to be still required by a couple of my bigger clients while 10.4 and PPC could go away. At least one plugin user compiles PPC versions on request with older plugins and older Real Studio version. We'll see whether PPC can be supported once we switch to Xcode 4.
If you do some shell scripting, you often may find yourself writing little console projects in Real Studio to do special tasks. One of the tasks could actually be doing something which needs a GUI. Like asking the user for a password. Now how to do that?
The solution can be to use a desktop project in Real Studio. When you launch it on your Mac from your shell script, you need to launch the app directly. Not using open command or some other launch facility. So path could be /somefolder/MyApp.app/Contents/MacOS/MyApp. As you see it points inside the bundle to the executable inside.
When you launch your app that way from the terminal, you can use StdOutMBS class to write text to the terminal.
Join us on the 3rd and 4th of November 2011 for Real Studio Database Days in Frankfurt am Main, Germany. Connect with other Real Studio developers, watch detailed presentations and enjoy a great time.
We start on November 3rd 2011 with a one day Real Studio database training. You will learn about using databases in Real Studio, whether you need a local database, MySQL, Cube SQL, Microsoft SQL or one of the other databases supported. We'll develop two applications together to learn the basics before we go into special tips and tricks on how to best solve certain tasks.
On 4th November 2011 we invite you to join us for a one day Real Studio conference. In our sessions you will learn more about Real Studio. Stéphane Pinel and Geoff Perlman will present what's new in Real Studio and what's coming in the future. Simon Larkin gives an overview of the power behind SQL statements and what you can do with them. Christian Schmitz presents the latest MBS Plugins and talks about how to make your application secure and stable. In our spotlight session, four participants of our conference can show their Real Studio application.
We'll stay both days in the Hotel Amadeus in Frankfurt, an excellent and modern business and conference hotel. The training and the sessions will be in English. On the evenings join us for a casual get-together with other participants for dinner.
Announcing Real World 2012 (Registration Coming Soon)
Real Word, the Real Studio User's Conference, is the biggest Real Studio event of the year! At the 2012 event you can attend informative, educational sessions, network with your peers, gain industry insight and even have a bit of fun! It will take place May 24-25, 2012 in Orlando, Florida, one of the top recreational and conference destinations in the world! Real World will be hosted at the Royal Plaza Resort which boasts excellent amenities, including a beautiful pool area with poolside bar, spa, restaurant and lounge and is conveniently located on the Walt Disney World property and walking distance from Downtown Disney.
We have arranged a steal of a hotel room rate (99USD) and will be offering a big discount on registration when you sign up early. Registration will be opening very soon!
Why attend Real World 2012?
Informative keynote presentations and educational sessions given by Real Software developers, Real Studio users and industry experts.
Take advantage of unique networking opportunities with fellow Real Studio users.
Get one on one interaction with Real Software staff to answer even your most technical questions.
It's in Orlando, Florida! Think: "I'm going to Disney World!"
It's a Deal! The Royal Plaza is offering a great room rate and you can save on conference registration when you sign up early!
Apple deprecated part of Carbon. But not all. While the GUI functions are going away, some functions like the event handling are still working. Even for 64 bit, most of the Carbon Events function still work.
So how do you get an event for a volume being mounted or unmounted in a Cocoa app?
Simply use the VolumeMounted and VolumeUnmounted events in CarbonApplicationEventsMBS.