MBS Real Studio Plugins, version 12.1pr6


New in this prerelease of the 12.1 plugins:
  • Added CustomNSScrollerMBS class.
  • Added NSGraphicsMBS.strokeLine method.
  • Fixed bug in GetWindowsErrorMessageMBS function.
  • Added Admin parameter for opening printer connection with administrative rights.
  • Split WindowsPrinterMBS class and created WindowsPrinterInfoMBS class. WindowsPrinterMBS is now the class for an open printer. This way we avoid to open a connection for each operation and simply open it once with OpenPrinter method.
  • Added WindowsPrinterInfoMBS class.
  • Added NSControlMBS.SetStringValue method.
  • Added functions WinApplyDevModeMBS, WindowsGraphicsInfoMBS, WinEndPageMBS and WinStartPageMBS to Graphics class.
  • Added WindowsGraphicsInfoMBS class.
  • Added WindowsPrinterMBS.DocumentProperties function.
  • Fixed bug in WindowsPrinterMBS.GetForm function.
  • Added LCMS2GamutBoundaryDescriptionMBS class.
  • Added WindowsPrinterMBS PrinterProperties function.
  • Improved LinuxUSBDeviceDescriptionMBS to show vendor name, product name and serial number more often. (still needs permissions to access devices!)
  • Added JavaDatabaseMBS.connect.
  • Added HTMLViewer.IEPrintPreviewMBS.
  • Added signatures for Windows DLLs in the plugins.
  • Added FieldFont, FieldName, IEditFont, IFieldFont, ToolTip and Value properties to DynaPDFFieldExMBS class.
  • Added JavaDatabaseMBS connect method.
  • Rewrote DynaPDFFieldExMBS class.
Download: macsw.de/plugin/Prerelease

Created Real Studio Group for Rhein-Main area


Whether you live in Mainz, Wiesbaden, Frankfurt, Offenbach, or one of the other smaller cities there, you are welcome to join our new Real Studio group there.
We'll gather a few people in the google group and start talking about meeting in the next weeks.

Link: Rhein-Main Real Studio Entwickler

Also if you are interested, join our groups for Switzerland, Leipzig, London, Baden Würtemberg and all the others listed here.

10 Feedback cases for framework improvements


Here are 10 little improvements for the Real Studio framework. Each of them is not worth for me to put them into my top cases, but still they could be done quickly by a RS engineer:
If you like those, please add them to your favorites, add comments or tell your favorite RS engineer you'd love to see the case being implemented.

More on printing on Windows


Printing on Windows with Real Studio has a few limitations and clients asked often for more options. We do have a few classes for some printing on Windows: The WindowsPrinterMBS class can enumerate printers and control a few options. For example finding job details or page format information. We also have the WindowsAddPrintJobMBS. It was originally made to allow sending postscript directly to a Laser Printer, but it works as far as I know also with other printers with raw data.

Today I worked on graphics class enhancements. We have new class WindowsGraphicsInfoMBS to find out details on a graphics object on Windows. For example if you have a graphics object from OpenPrinter command, you can query the logical and physical page sizes as well as resolution value and paper size in millimeters. That's quite useful, because we have a new function graphics.WinApplyDevModeMBS to apply a WindowsDeviceModeMBS object to the graphics object. This way we can rotate a page or change it's paper size.

Due a limitation in Windows, we can't change the first page. We can only apply new printer settings when no page is open. So we have functions WinEndPageMBS and WinStartPageMBS to end a page, change settings and start a new page.

This will be part of 12.1pr6 next week.

Detecting drive letter for an USB Stick


Some people have been waiting for an answer about this for a long time. Here is a way for Windows to find the drive letter of USB Sticks. This way you can build list which USB Device is which drive letter and with our USB classes. All you need here is the WindowsWMIMBS class. We simply show you how we get from device to drive letter by using our query example. (more)

Showing USB Devices


Some clients need to find USB devices and our plugin can do that on Mac, Windows and Linux. Sometimes to make sure the app only runs if a certain USB device is connected, like an USB Stick or a certain printer. You can identify devices by product ID, vendor ID, product name, vendor name or serial number.

This classes shown here are for Real Studio. But we have USB functions in our Filemaker plugin also for similar functionality.

So this is our example project for Mac using MacUSBDeviceMBS:

This is how the example on Windows using WinUSBDeviceMBS looks like:

and the example for linux using LinuxUSBDeviceMBS:


As you see all three show my test device, the FaceTime camera.
We also have classes for notifications when new devices are connected: WinUSBNotificationMBS and MacUSBNotificationMBS. But they can only detect devices being added or removed while your application is running. So you can't detect an USB stick if your application runs from that USB stick.

PS: For Linux, next plugins have a little change so this works better.

MBS Real Studio Plugins, version 12.1pr5


New in this prerelease of the 12.1 plugins:
  • Added examples for iCloud and Push Notifications.
  • Added more NSFileManagerMBS methods.
  • Changed FontActivateMBS and FontDeactivateMBS functions on folderitem classes to use newer APIs on Mac OS X 10.5 for future compatibility.
  • Added description and print methods to NSAppleEventDescriptorMBS, NSPredicateMBS and NSNotificationMBS classes.
  • Updated DynaPDF to version 3.0.15.31.
  • Added NSLayoutManagerMBS class to control a few more textview options.
  • Added WinNotificationMBS class to send messages from one windows application to another.
  • Changed CIColorMBS.Component to a function giving double values.
  • Added QuartzFilterViewMBS constructors.
  • Fixed PNGReaderMBS constructor so it works if you compile app on Intel machine and copy to PPC Mac.
  • Note: Over time all Handle properties will move from integer to Ptr in preparation for 64 bit support.
  • Added constructor to CIColorMBS, CIContextMBS, CIFilterMBS, CIFilterShapeMBS, CIImageMBS and CIVectorMBS for taking Ptr value.
  • Improved memory handling for Java which fixes some memory leaks.
Download: macsw.de/plugin/Prerelease

iCloud and Push Notifications in Real Studio applications


As you may know we have the classes for iCloud in our plugins for some time now. You can find them here in the documentation. But to use them you first need to sell your app through the Mac App Store and second you need to work through all the certificates, provision profiles and entitlements. So I know a few people use this all with our plugins, but we missed an example project.

So 12.1pr5 plugins later today contain example projects. You can't run them directly as you need a Mac Developer account and create yourself certificates and profiles. We include sample project, but you have to replace our IDs with yours. Once you got it working, you can send push notifications and receive them in the test application. Also you can put a file into iCloud and fine files in the cloud.

Our examples are a starting point. They are not yet complete and we happily extend them based on your input. But already with that example we can upload a jpeg file and get it's URL for sharing. This published URL can be send by email to someone who can download this image file from the cloud. Download MBS logo jpeg file from iCloud.

Windows Notifications


For next plugins, we add WinNotificationMBS class for 12.1pr5 soon. This class allows you to send a message from one application to another application. For example if you have two applications and one does background work, it could send notification to main application when some event occurs like the work is finished.

We use it here to talk between a main application and a sync application. When we start a sync, we launch the sync application which itself sends sync started notification and sync done notification. This way main application can show that in the GUI.

Also you can this on Windows to help with the two instances problem. If user has your application running and double clicks it again, Windows starts a second instance of your application. So your second instance could detect first instance with a mutex and send notification to first instance telling it to come to front.

Third this notifications are great for having an app for system tray menu and sending commands to a main application. So selecting preferences in a menu on the system tray would send notification to main application to show preferences window.

For Mac OS X you can use the NSNotificationMBS class for similar functionality.

Mac OS X 10.8 Mountain Lion coming this summer


Mac OS X 10.8 is coming and it looks great!

For developers with Real Studio, well, I can recommend you read about how to code sign your applications. With the $99 Mac developer program you get already today the certificate so you can sign your applications like you do for the App Store.

Because with 10.8 will have default setting to allow only new applications from Mac App Store and identified developers. So if user downloads your unsigned app from your website, they get a warning or the OS will not open app. Yes, users can change the policy or allow your app, but default is to show a warning. You certainly want to avoid that and sign your app.

Read more on Macworld.com.

Also Xcode has a view changes. I have to check them later, but it's possible that on our plugins we may loose 10.4 PPC support, 10.4 support or 10.5 support. That depends on whether older PPC compilers still work on 10.8 and whether Apple decides to drop older deployment targets.

When release date is set and we have final SDK, we will start doing those plugins and have them ready with 10.8 shipping. Due to NDA with Apple we are not allowed to give away plugins with new features before that.

For Filemaker developers it may also be required to sign Runtimes. But we have to wait until we can verify that. And maybe Filemaker 12 has features for that to sign automatically.

Save 25% on ANY Real Studio Upgrade - During the month of February


Real Software just sent this special offer to a couple of users:

Save 25% on ANY Real Studio Upgrade During the month of February

Upgrade to Enterprise Edition
Between now and February 29, 2012 save 25% on an upgrade to Real Studio Enterprise Edition! This means that Personal Edition users will save $224.00 and Professional Edition users save $174.00! With Real Studio Enterprise Edition you get:
  • Real Studio Web Edition
  • Profiler for finding bottlenecks in your code
  • IDE Scripting
  • Build Automation
  • The ability to develop and deploy on Mac, Windows, Linux & the web!
  • Priority Technical Support
Upgrade to Professional Edition
Also during this month, Real Studio Personal Edition users can upgrade their license to Professional Edition for 25% off, which is a savings of $62.25! With Real Studio Professional Edition you get:
  • Cross-platform compilation, allowing you to write your code on one platform and compile for Mac, Windows & Linux!
  • Extended database support and database encryption
  • Container controls, console applications, AutoDiscovery class, ServerSocket control
  • Secure network communications via Secure Socket Layers (SSL)
  • Technical support via email
Maybe worth for you?
Coupon code is UPGRADE and you can go here

Atlanta Real Studio Users Group – February 20 2012


We'll be holding our monthly meeting on Monday, February 20th, 2012 from
6pm to 9pm!

--Who: Everyone interested in developing in Real Studio
--What: Monthly Meeting
--Where: Aldo's Italian Restaurant
--When: February 20th, 2012 - 6pm to 9pm
--Why: Real World 2012 Preview! Kevin Cully will be presenting a (very) early version of his session "Understanding Object Oriented Programming" that he will be presenting at the Real World conference in Orlando, FL this May. So come on out, learn more about RealBasic, OOP, and get a free preview of what is coming at the conference!

I hope to see you there!

-Kevin

Job Offers


You need work?

Well, beside the Real Studio consultants referral program, you can also look for a few other job offers.

For example Aspex Software (Plymouth, UK) is looking to employ a developer on site. Email Tom Sanham for questions.
And a Swiss company is also looking for someone on the realbasic.de forum.
Today I also had a phone call today from a based Munich (Germany) company which wants to start developing a software for their company (rewrite of older project with Real Studio). I'll wait for him to come back with some details.

If you are available for projects, please tell us about. I'm asked often for referring clients to developers and I could maybe refer to you?

Also don't forget that meetings like Real World in Orlando or our meetings London, Leipzig and Pforzheim are great opportunities to introduce you to possible clients or contractors.

MBS Real Studio Plugins, version 12.1pr4


New in this prerelease of the 12.1 plugins:
  • Updated DynaPDF to version 3.0.14.30.
  • Added more WindowsPrinterMBS methods.
  • Added WindowsPrinterJobMBS class.
  • Added NSGraphicsMBS.ScaleCoordinates and NSGraphicsMBS.TranslateCoordinates methods.
  • Added PDFPageMBS.Draw method.
  • Added DllMain entry point for DLLs for better compatibility.
  • Added plugin version information to dylibs and DLLs inside plugins.
  • Added signatures for Mac dylibs in the plugins.
  • Added Picture.hashMBS function.
  • Added CFPreferencesMBS.CopyDictionary function to copy all preference data of an application.
Download: macsw.de/plugin/Prerelease

12 years of Mac OS X development


Mac OS X DP3 (developer preview 3), was the first version I used to try developing for Mac OS X. As this version came out in February 2000, it has been 12 years since that installation. Amazing how time passes.

So if someone looks for an experienced Mac OS X developer, well, I'm available. :-)

When did you tried Mac OS X the first time?

cubeSQL is on sale


CubeSQL is a nice SQL Server for use with Real Studio. Easy to deploy, easy to maintain and easy to use. And you can add functionality to it with our SQLite Extension.

CubeSQL is currently on sale and for orders you can use this coupon code: CUBESQLSPECIAL in the online store.

I also recommend SQLiteManager from the same company as it is a very nice tool for working with SQLite databases. I use it often to check whether the databases used in my Real Studio projects really contain what they should. Or to correct something in the database directly.

How to install Real Studio on 64 bit Linux


Today I needed to install Real Studio on a 64bit Linux in order to verify a bug. Installing Real Studio on Linux is not as easy as it should be. First, please make sure you have the package ia32-libs installed (for Ubuntu and similar linux distributions). You download Real Studio on Real Software website for Linux. Now if you run the .deb file in Linux, you get error about wrong architecture, so you need to go to terminal and run

sudo dpkg --force-architecture -i pathtoinstaller.deb

after the -i simply drop the deb file into terminal, so the path is added for you.
Well, after this I can find Real Studio here in the launch menu and I can enter my license key.

To install Feedback, you need to click Feedback button. Real Studio asks you whether you want to install it, than it asks here for being allowed to download an update. So you download the update and save it. Nothing happens. Launching the file manually gives the same error message as above, we we are back to the terminal with this command:

sudo dpkg --force-architecture -i '/opt/RealSoftware/RealStudio2011r4.1/Extras/Feedback System/Feedback.deb'

Now Feedback runs, even with the Feedback button from Real Studio. But I can't login.

Does someone has an idea on how to install libwebkit or libgtkhtml on Linux in 32 bit versions on a 64 bit linux?

And here some bug cases I run into today: 20214, 20213, 20212 and 20001.
I hope someone from Real Software could look into this and improve a few things. Maybe at least provide instructions so people can get it running.

MBS Real Studio Plugins, version 12.1pr3


New in this prerelease of the 12.0 plugins:
  • Changed encryption plugin parts so they are no longer detected as being virus infected by some virus scanners.
  • Added colorspace parameter to CGPictureContextMBS Constructor.
  • Added Names and Lines function to EnvironmentMBS class.
  • Added CGColorSpace parameter to NSImage functions CopyPicture and CopyPictureWithMask.
  • Fixed a few bugs in EnvironmentMBS class.
  • Fixed MailFrom option in CURLMBS and CURLSMBS.
Download: macsw.de/plugin/Prerelease

Virus Scanners False Positive on my plugins.


The plugin part for AES encryption in our Util plugin is detected by some virus scanners as having a virus. I think they name it Ursnif.21. Seems like this virus uses similar code for AES encryption than we. But a little change in the plugin makes the plugin dll now pass those virus scanners.

So if you see this, please use 12.1pr3 or newer plugins. We fixed it!

If you wonder how a virus scanner checks a file, well, it's basically a combination of several patterns they look for. So if a file has a certain byte pattern in it's content, the scanner would detect the virus. It doesn't have the whole virus to compare, but only small fragments in the database. this way it could happen that they detect a virus which normally is part of a 1 MB exe file in a 4 KB dll where it may not even fit.

MBS Real Studio Plugins, version 12.1pr2


New in this prerelease of the 12.1 plugins:
  • Added PortAudioMBS.DisableHostAPI function.
  • Fixed memory leak with folderitem icon functions on Windows: IconMBS, IconImageMBS and IconMaskMBS.
  • Added Priority, WinGetPriorityClass and WinSetPriorityClass to ProcessMBS class.
  • Added DirectShowBindContextMBS, DirectShowPropertyBagMBS and a few more DirectShowMonikerMBS methods.
  • Fixed a leak with HTMLViewer.IERunJavaScriptMBS, where we leaked a html window reference.
  • Updated LibXl to version 3.2.3
  • Added folderitem.isApplicationMBS function.
Download: macsw.de/plugin/Prerelease

News from this week


  • We'll get a second baby. So Michael will be a big brother in October :-)
  • Real Studio now has 150,000 users in 130 countries. Don't ask me how they count it. Details on Real Software website
  • Welcome Paul Lefebvre who joins Real Software. I met him at Real World events before.
  • We booked hotel rooms for London, Pforzheim and Leipzig as we already have a lot of people coming. For London we have already 20 people for the friday! Events Website
  • Someone at the Cebit this year? I plan to go there and I'd like to meet some people.

Real Studio Training and Meeting Events in London, UK


Monkeybread Software is pleased to announce to host two Real Studio days in London. We meet in the nice Antoinette Hotel in Wimbledon for a meeting day and a training day.

We have a Real Studio training day for Web Edition on 29th March 2012. We introduce you to the Web Edition and write several little projects to show you how it works. Later that day we will look into connecting to databases and optimize Web Apps for iPhone and iPad. Training is from 9am to 6pm and costs £199 plus VAT.

On 30th March 2012, we meet with Real Studio developers all over UK to talk about Real Studio. We have a few nice sessions prepared for you starting with the Keynote from Stephane Pinel from Real Software. Stephane will update you on what's new in Real Studio and coming this year. Also we have sessions about deploying applications, databases and our plugins. This event from 9am to 5pm and it is free to attend. We still have space available for an additional session. Maybe you like to present something?

If you like to join the events, please register with us. More than 20 people are already coming to this event and we also hope to see a lot of people for the dinner on the evenings.

Also we would be happy to meet you on the big Real World conference in Orlando with probably over 100 attendees. Your chance to meet all the people from he forums and mailing lists!

MBS Real Studio Plugins, version 12.1pr1


New in this prerelease of the 12.1 plugins:
  • Fixed a few things for future compatibility.
  • Fixed internal NSDictionary to Dictionary conversion to work better with non string keys.
  • Improved DirectorySizeMBS to use FSRef alone (and no longer FSSpec and FSRef) on Mac.
  • Added LoadFontEx and PageLink3 methods to DynaPDFMBS class.
  • Added Lasterror property to WIADeviceManager1MBS and WIADeviceManager2MBS class.
  • Fixed a crash with CreateDevice function in both WIADeviceManager1MBS and WIADeviceManager2MBS classes.
  • Changed Java plugin so we can use several VMs. Also most classes are now JavaObjectMBS subclasses and we added a few more methods.
  • Updated DynaPDF to version 3.0.13.29.
  • Fixed plugins so the precompiling is triggered less often.
  • Fixed picture editing functions to clear picture cache.
  • Fixed PDFPageMBS.characterBoundsAtIndex to now return a NSRectMBS.
  • Added new plugin for DirectShow (for video recording on Windows)
  • Added new plugin for Canon EOS Digital camera SDK.
  • Added new properties to WindowsPageFormatMBS class for Windows Vista and newer.
  • Added AddForm, DeleteForm, GetForm and SetForm methods to WindowsPrinterMBS class.
  • Added XLBookMBS.SetKeyGlobal method.
  • Added CRC16MBS function.
  • Added BlockSmoothing and FancyUpsampling properties to JPEGImporterMBS class.
  • Added private constructors to PortAudioDeviceInfoMBS, PortAudioHostApiInfoMBS, PortAudioHostErrorInfoMBS and PortAudioStreamInfoMBS classes.
  • Fixed bug with XLBookMBS.AddPicture with taking folderitem.
  • Fixed bug in Linux string handling where plugin functions returning UTF16 did not set the text encoding. This affects a lot of plugins, especially the XL Plugin where this was reported.
  • Added new LCMS2StageSamplerMBS class and methods to LCMS2StageMBS class.
  • Removed JPEGImporterMBS.UseTempMemory property.
  • Updated Phidgets library to the December release.
  • Added return value to CDFinanceChartMBS.addPlotAreaTitle or CDPolarLayerMBS.addCustomDataLabel methods.
  • Added CollectionIndex parameter to LoadFont method in DynaPDFMBS class.
Download: macsw.de/plugin/Prerelease

Real Studio Meetings and Trainings


This spring we have a couple of Real Studio events:

Leipzig, Germany, 1st March 2012: Real Studo meeting in Merseburger Hof.

London, UK, 29th and 30th March 2012: On thursday we have a training for web edition and database (in English) and on friday we have meeting with interesting sessions around Real Studio.

Pforzheim, Germany, 26th and 27th April 2012. Real Studio meeting on thursday evening and training with Real Studio Web Edition and Database (in German) on friday.

Orlando, USA, 24. und 25. Mai 2012: Real World is the biggest Real Studio meeting in the world. Three awesome days with probably more than 100 Real Studio developers to learn new things, exchange ideas and meet the people you only know from lists or forums.

Maybe we'll meet on one of those event? If you have questions, please contact us.

PS: Registration is now working. If you registered already, please do again as your data was not saved. Sorry.

New feedback cases


Here a few new feedback bug cases which may be worth putting them on your favorite list:

Archives

Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
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