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.
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.
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
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.
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.
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.
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
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.
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!
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.
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.
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!
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.
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.
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.
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!
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.
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.