MBS Real Studio Plugins, version 11.3pr3

Tuesday 30 August 2011 at 11:01 pm
New in this prerelease of the 11.3 plugins:
  • Now using libXL for XLBookMBS and related classes for reading/writing excel files.
  • Removed old XLS*MBS classes.
  • Added support for CGImageMBS creation on Mac OS X 10.7 for older REALbasic versions.
  • Fixed window.MakeTransparentMBS to work on Cocoa.
Download: macsw.de/plugin/Prerelease

Rewrite of Excel classes.

Tuesday 30 August 2011 at 10:23 pm
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.
  • Fast.
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.

MBS Real Studio Plugins, version 11.3pr2

Wednesday 24 August 2011 at 10:22 pm
New in this prerelease of the 11.3 plugins:
  • Added more methods to NSCoderMBS class.
  • Added canBecomeKeyWindow parameter to NSWindowMBS.Constructor.
  • Added NewCFObjectMBSFromXMLMT methods.
  • Internal Variant to NSObject code now support NSIndexSet.
  • Added WindowsMonitorMBS class.
  • Improved CompressLZWMBS function.
  • DynaPDF Raster functions now show the Pro License required dialog if you use them in a compiled application without Pro license.
  • Added NSGraphicsMBS.fillRect with operation mode.
  • Fixed bug with CURLSMBS not initializing on Windows (due to switch to Visual C).
  • Encryption/Decryption works now in UnZipFileMBS and ZipFileMBS classes.
  • Removed SparkleMBS class. Please use SUUpdaterMBS class.
Download: macsw.de/plugin/Prerelease

Real Studio Database Days: Hotel booking

Monday 22 August 2011 at 8:29 pm
Looking for a hotel for the Real Studio Developer Days?

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.

Please contact us if you need help.

see also companions, hotel pictures and the announcement

We have a problem

Monday 22 August 2011 at 4:42 pm
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)
Do you have an idea?
Linux and Mac OS X are not affected.
see also: Feedback case 18043

Plugin notes

Friday 19 August 2011 at 11:01 am
  • 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.

MBS Real Studio Plugins, version 11.3pr1

Thursday 18 August 2011 at 11:41 am
New in this prerelease of the 11.3 plugins:
  • Updated DynaPDF to version 3.0.7.15.
  • Added SplitCommaSeparatedValuesMBS method.
  • Added new methods for Lion to NSScrollerMBS and NSScrollViewMBS classes.
  • Added NSClipViewMBS class.
  • Fixed a few XMP plugin bugs.
  • Added JavaPreparedStatementMBS.setBytes method.
  • Added getBytes and updateBytes methods to JavaResultSetMBS class.
  • Java plugin methods use now Int64 for Longs instead of Double.
  • Improved speed for XLS file import in XLSDocumentMBS class.
  • Added XLSDocumentMBS.Constructor to take a folderitem.
  • Most PNG functions have now default value 0 for gamma parameter.
  • Added PNGPictureMBS kDefaultGamma constant.
  • Fixed XLSDocumentMBS so it does not crash with more than 32767 rows. Should now work fine up to 65535 rows.
  • Added DRDeviceMBS.device and DRDeviceMBS.deviceCount for older Realbasic versions with limited array support.
  • Added multi threaded methods to DNSLookupMBS class.
  • Changed DNSLookupMBS class. Lookup methods are now shared methods. So if you use Lookup LookupHostbyNameMBS, LookupHostbyAddressMBS or LookupHostbyNameMBS, you need to update your code.
  • Updated DNSQueryMBS class to work on console applications.
  • Fixed bug in SKPaymentMBS and SKMutablePaymentMBS copy constructors.
  • Fixed Window.FullScreenPrimaryMBS getter for Cocoa.
  • Added Cocoa support for window.ToolbarVisibleMBS.
  • Added PictureMBS.ScaleMT function.
  • Removed CopySignMBS, TruncMBS and FDimMBS.
  • Removed CommentClassicMBS and CommentCarbonMBS.
  • Added more methods to NSTextViewMBS class.
  • Added a few new NSGraphicsMBS methods.
  • Fixed bugs with UInt32 getter/setter for UnZipFileInfoMBS and ZipFileInfoMBS classes.
  • Compiled plugins with Visual Studio 2008 (removed Codewarrior)
  • Zip files now created with new tool. Please report problems with decompression.
  • Added missing constructors to NSTextFieldCellMBS class.
  • Fixed DRBurnMBS.abort function.
Download: macsw.de/plugin/Prerelease

MonkeyBread Software Releases the Timed Screenshot in version 1.3

Thursday 18 August 2011 at 10:08 am
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.

All freeware applications:
monkeybreadsoftware.de/Freeware

The Timed Screenshot website:
monkeybreadsoftware.de/Freeware/TimedScreenshot.shtml

Switching to Visual Studio 2008

Wednesday 17 August 2011 at 1:16 pm
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.

Atlanta REALbasic Users Group Meeting

Monday 15 August 2011 at 5:34 pm
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!

see atlrealstudio.org

If you live in the Atlanta area, we'd love to meet you and talk all things REAL Studio!

Real Studio Database Days: Companions

Sunday 14 August 2011 at 9:35 pm
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.

Support for older OS versions

Thursday 11 August 2011 at 10:22 pm
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.

And I was pointed to wikipedia's statistics which look quite interesting.

Tip of the day: Mac Shell Scripting

Friday 05 August 2011 at 8:38 pm
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.

Real Studio Developer Days

Thursday 04 August 2011 at 4:48 pm
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.

Registration starts today. Costs is 99 Euro for the second day and 499 Euro for both days.

More information on our website

This event is organized by Monkeybread Software. People from Real Software Inc. and Application Systems Heidelberg GmbH will be available onsite for questions.

Announcing Real World 2012

Monday 01 August 2011 at 4:17 pm
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?

  1. Informative keynote presentations and educational sessions given by Real Software developers, Real Studio users and industry experts.
  2. Take advantage of unique networking opportunities with fellow Real Studio users.
  3. Get one on one interaction with Real Software staff to answer even your most technical questions.
  4. It's in Orlando, Florida! Think: "I'm going to Disney World!"
  5. 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!
For more information visit the Real World website.

IP in menubar version 4.3

Monday 01 August 2011 at 3:16 pm
A few minutes ago I uploaded IP in menubar in version 4.3 to our website.

Changes in Version 4.3:
  • Fixed a bug with Mac OS X 10.7 Lion.
  • Added option to show extra text. You need to write it yourself in preferences file.
  • Added option to show all IPs of the Mac.
We suggest everyone to update if you plan to use Mac OS X 10.7.

More details on the website for IP in menubar

Tip of the day: Carbon events for Cocoa app

Monday 01 August 2011 at 1:41 pm
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.

Archives

Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008