MBS Real Studio Plugins, version 13.1pr11

New in this prerelease of the 13.1 plugins:
  • Fixed CustomNSSearchFieldMBS keyUp event.
  • Added CIImageMBS.autoAdjustmentFilters and related methods.
  • Added more drag and drop things for Cocoa: NSPasteboardItemMBS, NSPasteboardItemDataProviderMBS, NSDraggingImageComponentMBS and NSDraggingItemMBS classes and a few methods.
  • Added Data, DataPtr, PixelDepth and RowBytes to GWorldMBS class.
  • Fixed crash with events in NSSpeechSynthesizerMBS when event occurred after the NSSpeechSynthesizerMBS object was destroyed.
  • Changed BarcodeScannerMBS to work in console/web applications.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Job offer from Medtronic for Full Time Real Studio Developer

Please read the job offer in the Real Studio Forum.

Medtronic is using Real Studio and our MBS Plugins for a couple of years now.

PS: Real World is also a good place to get in touch with people and find work or people to hire.

MBS Real Studio SQL Plugin and Oracle

Thanks to Thomas Gutzmann for sending us his report on his experience using our plugin with Oracle database server:

My top reasons to go for MBS Real Studio SQL Plugin

Finally MBS, that wildest beast in the RealBasic territory, got me. I was stuck with the OracleDatabase plugin, and I couldn't wait any longer for Real Software to fix the worst bugs in the module. I understand that Oracle is not very high up on their agenda, but on mine it is.

The most problematic issues I had where:

- Character set problems.
- Date handling errors.
- Prepared statements buggy.
- Insufficient BLOB support.
- And a certain lack of performance.

I had worked around several deficiencies by subclassing OracleDatabase, of course. It was this BLOB thing which let me grope for MBS.

It was a matter of minutes to change the base class of my database class from OracleDatabase to SQLDatabaseMBS:

- Prefix the connect string with "oracle:".
- Move the setting of environment variables like DYLD_LIBRARY_PATH out of the source code.
- Add one line of code for setting the pointer to libclntsh.dylib.10.1.
- Create two methods for commit and rollback, as they are not handled correctly in SQLDatabaseMBS.
- Work around the missing support for RecordSet.RecordCount (I'm not unhappy, as this feature is damnable performance-wise).

Now I can write

vRS.Field("colname").StringValue

instead of

DefineEncoding(vRS.Field("colname").StringValue, Encodings.UTF8)

I can use

SQLSelect("select sysdate from dual")
vDate = vRS.IdxField(1).DateValue

instead of

SQLSelect("select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual")
vDateString = vRS.IdxField(1).StringValue
... and convert the string to a date field ...

These improvements may not look important, but if your application contains hundreds of SQL statements, if you use stored procedures a lot, you start to think different.

Prepared statements simply work, even with BLOBs. There are a few gotchas for BLOBs: I had to use named (":colname") instead of positional ("?") bind variables, and I had to write a small stored procedure to work around the Oracle 32K limit for bind values - basically implementing "dbms_lob.append".

The performance looks better. I haven't tried hard yet, but it looks as if Christian works closer to the standard. The missing RecordCount supports is an indicator, because that would mean to either issue a "select count" first, or buffer the complete result set.

Cheers to Christian :-)


MBS Real Studio Plugins, version 13.1pr10

New in this prerelease of the 13.1 plugins:
  • Removed SignedInteger64MBS and UnsignedInteger64MBS classes. Please use native data types in Real Studio.
  • Added WindowsDiskChangeMBS class.
  • Reduced number of plugin dlls for Windows as we hit some limit with 500+ dlls and RS 2013r1 stopped loading plugins.
  • Removed SelectFolderMBS function. Please use SelectFolder function in Real Studio.
  • Removed WeakRefMBS class. Please use Weakref class built into Real Studio instead.
  • Removed GetStackTraceMBS function.
  • Changed CURL FTPPort, CustomRequest and Range options to pass nil to CURL if you pass empty string in order to disable/reset the feature.
  • Added QTTrackMBS.BeginMediaEdits and QTTrackMBS.EndMediaEdits.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Litte Movie Encryption Change

As you may know you can encrypt movies and use our OpenMovieWithCustomQTDataHandlerMBS function to load them for playback. Now in recent plugins 13.0/13.1 there was a little change. The key for decryption is now a memoryblock instead of a string. And you have to keep this memoryblock alive as it's used by the plugin. So please change code using OpenMovieWithCustomQTDataHandlerMBS to now pass a memoryblock and keep this memoryblock in a property of your window. The memoryblock must be alive until you close the movie.

Our plugin allows you to use XOR (Faster) or AES (slower) encryption which allows you to deliver movies with your application, but the user can't simply double click them and play them outside your application.

MBS Real Studio Plugins, version 13.1pr9

New in this prerelease of the 13.1 plugins:
  • Added drag events to custom cocoa control classes.
  • Added NSDraggingInfoMBS and NSDraggingSessionMBS classes.
  • Fixed bug in acceptsFirstMouse event in custom cocoa control classes.
  • Changed code for dictionary conversion to handle QTTimeMBS and QTTimeRangeMBS better.
  • Added MacKeychainMBS module.
  • Fixed GIFPaletteMBS.Count, so you can set to 256 again.
  • Fixed a drawing issue in IDE for Real Studio 2013r1 for some of our controls.
  • Added RawData and DataMemory properties to WindowsMidiInputMBS events.
  • Updated LCMS2 to 2.5 beta from 23nd March 2013 to get some bug fixes.
  • Fixed a crash with WindowsMidiMBS.InputDevice function.
  • Added NSFilePresenterMBS.primaryPresentedItemURL and NSFileCoordinatorMBS.itemAtURLwillMoveToURL.
  • Added IKImageBrowserCellMBS, IKImageBrowserItemMBS and IKImageBrowserViewMBS classes.
  • Added CALayerMBS and CATransactionMBS classes.
  • Fixed SetVisibleThreadSafeMBS and SetEnabledThreadSafeMBS for being called on main thread on Mac.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Testimonial

We got a testimonial from Patrick Delaney:

I have been using Real Studio for around 6 years and since discovering Monkeybread Software, their plugins have become an integral part of my toolkit. The plugins significantly extend REAL Studio functionality and save time writing my own code to fill in the gaps. It's fair to say that if REAL Studio is missing something you need, there is probably a Monkeybread plugin to do the job!

As well as the complete plugin set I've also added a few other Monkeybread products to my toolkit - the Bug Reporter and Updater Kit to name just two. Though I could write some of this myself, utilising Monkeybread Software has saved me time and, indeed, has made me money.

The technical support Christian provides is both timely and efficient. He is always willing to help where he can. I'm a big fan of Monkeybread tools and I wholeheartedly recommend them to any REAL Studio developer.

Thank you. He is now using our SOAP kit for a web service and was very happy about it last week :-)

Tip of the day: Web apps without name.cgi in URL

While doing a remote session with client on setting up a webserver for a web app made with Real Studio with Amazon EC2, we got a question: Can we remove the name.cgi easily from the URL?

So which URL is better?To get this working, you'd need to make a copy of your cgi file and upload it as index.cgi. Make sure the line endings are right (unix, LF) and you set permissions to 755.
Next you edit the .htaccess file.
First you need to add "-Indexes" to the options on top. And you need to add this to the file on bottom:
<Files ~ "^$">
allow from all
</Files>
The first change will disable normal directory indexes and second change allows the default file to be accessed.
If you do everything correct, you can remove name.cgi from the URL and enjoy a little bit shorter URL.

Real World: Book your hotel room

If you are still thinking about coming to the Real Studio Developer Conference, and would like to stay at our hotel (with our room rate), I encourage you to book your room ASAP!  The hotel is only holding the Real World room block until March 23rd!  At that point the rooms will be released to the public, and the hotel could sell out. The hotel has a 72 hour cancellation period, so if you are *thinking* about coming, I'd suggest grabbing a room just in case, you can always cancel if you need to.

To learn more about the hotel or to book, go on Real World Website or hotel website or your can call 877.394.5765 and refer to group code RWE.

If the hotel tells you they are out of inventory at our rate please contact Dana and I will have the hotel add you to our block.
Let me know if you have any questions.  I hope to see you all in Orlando!

Real Studio meetings in Germany

There are local Real Studio meetings all over the world. For Hamburg there are a few dates set this year like 10th April. For other groups like the Rhein-Main, Baden Württemberg and Leipzig groups, we are currently trying to schedule events for May. If you like, you can join the discussion and survey:Topics for the May meetings are of course the Real World Conference and the Real Studio 2013r1 release.
And of course you are invited to yourself do local meetings in your area.

MBS Real Studio Plugins, version 13.1pr8

New in this prerelease of the 13.1 plugins:
  • Updated DynaPDF to version 3.0.23.62
  • Added some helper methods to LCMS2IT8MBS class.
  • Added CGContextMBS.Constructor, CGContextMBS.contextWithCGContext and CGContextMBS.contextWithCGraf.
  • Added WindowsDeviceModeMBS.FromRawData and WindowsDeviceModeMBS.RawData for storing device mode data.
  • Added more NSLayoutManagerMBS functions.
  • Added more CGImageSourceMBS property names.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Advanced pricing ending for Real World on sunday

Real World 2013 is just a few weeks away. Sign up soon to benefit from Real World advanced pricing (Ends 17th March)
Register at the conference website.

Also the schedule has been posted: Real World Schedule.
As you see first day is in big Ballroom so everyone can watch the Web and iOS sessions after the keynote. Also the MBS Session is Thursday 11am and Thursday night we a going bowling at Splittsville.

See you there in Orlando!

MBS Real Studio Plugins, version 13.1pr7

New in this prerelease of the 13.1 plugins:
  • Added JavaResultSetMBS getAsciiStream, getUnicodeStream and getBinaryStream methods to JavaResultSetMBS class.
  • Added JavaInputStreamMBS class.
  • Changed NSWindowMBS.Close to retain if needed to make sure the window is not overreleased.
  • Added RegexMBS.MatchLimit and RegExMBS.MatchLimitRecursion property.
  • Fixed Reset method in CURLSMBS/CURLMBS class.
  • Fixed a bug with Java CallStaticBooleanMethod and other methods.
  • Changed DelayMBS to only call MovieTask if it was called on the main thread.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Real Studio Schulungen

Haben Sie Interesse an einer individuellen Schulung oder an einer Gruppenschulung?
Anstatt Termine und Orte fest vorzugeben, möchten wir dieses Jahr lieber die Interessenten sammeln und dann gezielt Termine anbieten.

Mögliche Themen für Schulungen:
  • Einführung in Real Studio
  • Neues in der 2013er Version (sobald verfügbar)
  • Web Anwendungen
  • Desktop Anwendungen
  • Datenbankzugriff
  • iOS Anwendungen (Sobald verfügbar in Real Studio)
  • Einsatz von Plugins
  • XML Verarbeitung
  • Netzwerkprogrammierung, zum Beispiel Email versenden oder via Socket Daten austauschen
  • Ausführen von Operationen im Hintergrund (Threads)
Die genauen Themen werden natürlich nach den Interessen der Teilnehmer festgelegt.

Bei Interesse an einer Schulung melden Sie sich bitte bei uns.

Individuelle Schulung

Bei einer individuellen Schulung für ihr Unternehmen können Sie natürlich die Themen selber festlegen. Die Schulung kann dabei gerne in ihren Büroräumen stattfinden.

Gruppenschulung

Sobald wir mehrere Teilnehmer aus einer Gegend haben, können wir zusammen einen Termin festlegen, einen Schulungsraum aussuchen und die Schulung allgemein anbieten. Wenn Sie Interesse haben, teilen Sie uns auch bitte mit, wie weit Sie fahren würden zu einer Schulung.


Bei allen Schulungen bieten wir gerne noch am Abend oder Vorabend einen allgemeinen Real Studio Stammtisch an. Da können Sie sich dann noch mit anderen Real Studio Teilnehmern austauschen.

Two weeks left for $100 save for Real World

Real World 2013 is just six weeks away. Sign up soon to benefit from Real World advanced pricing (Ends 17th March) and save $100 compared to regular price.
Register on conference website.

The schedule has been posted: Real World Schedule.
As you see first day is in big Ballroom so everyone can watch the Web and iOS sessions after the keynote. Also the MBS Session is Thursday 11am and Thursday night we a going bowling at Splittsville.

See you there in Orlando!

PS: I hope you all read the article I got in the Real Studio Developer Magazine with tips and tricks for what to do on extra days in Orlando.

Real Studio Developer Magazine 11.2

The March/April (11.2) issue of Real Studio Developer is now available.
Here's a quick preview of what's inside:
  • Tips for Real World 2013 * by Christian Schmitz
    Are you attending the Real Studio Conference in Orlando this April? Christian offers his suggestions on what else you can do while visiting Florida.
  • Encapsulating Booleans * by Jens Bendig
    Jens explains why the simplest property—the boolean—can be tricky and lead to hard-to-find bugs. Learn how to prevent such flaws.
  • Windows Installing * by Marc Zeedar
    Windows programs need an installer. If you aren't sure how to create one, Marc walks you through the process of using the free Inno Setup installer-maker.
  • EC2 to the Rescue * by Christian Schmitz
    With Amazon's EC2 service, you can cheaply host your Real Studio-created Web Apps. Christian shows you just how to set everything up.
  • Plugin to Real Studio * by Christian Schmitz
    If you write plugins for Real Studio, you need to know about the recent changes to the Plugin SDK. MBS Plugin-creator Christian Schmitz brings you up to speed.
In our regular columns we've got articles on conditional compiling and pragma directives, web app deployment, picking the right consulting clients, SQL tables, what to expect at Real World in April, and much more. Enjoy!

MBS Real Studio Plugins, version 13.1pr6

New in this prerelease of the 13.1 plugins:
  • Added MT execute methods to RegExMBS class.
  • Improved QTFrameExtractorMBS to make it more thread safe.
  • Fixed a bug with SplitCommaSeparatedValuesMBS going into infinite loop due to bad input data.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Real Studio Developr Job Offer

Micah Bly from Medtronic, Inc. is looking for a developer for a 2 year project in Minneapolis, MN, USA. For details, please take a look on the forum post.
The biggest plugin in space...

Archives

Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
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