MBS Real Studio Plugins, version 12.5pr12


New in this prerelease of the 12.5 plugins:
  • Added memoryblock variants of the MD5 functions to avoid conversion from memoryblocks to string.
  • Fixed problem in MD5MBS on Mac OS X 10.4.
  • Added ExtendedAttributesMBS module.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

NSImage and image orientation


On Mac OS X the frameworks behave differently depending on which Mac OS X SDK version was used to build the app. For example the HTMLViewer draws background of textfield differently. Also our NSStatusItemMBS class works better with 10.6 than with 10.4 SDK setting. And now we also see that NSImageMBS works differently. Picture orientation is not recognized if SDK setting is 10.4, but works in 10.6.

So switch your Real Studio copy on Mac OS X to mark applications to get 10.6 behavior, you can use this line in terminal:

defaults write com.realsoftware.realstudio "Mac SDK Version" -string "10.6"

Update: This also affects MBQueryMBS.

Warning: This is a global setting which affects all your projects. This can have bad side effects, especially in Cocoa project where the framework expects you to use the default version. Default SDK for 2012r2 Cocoa is 10.7, so the plugin functions should work fine there without you use this setting.

Some pictures from Real Studio Conference in Koblenz


Here a few pictures from the conference: (more)

MBS Session @ Real World 2013 in just 5 months!


Real World 2013 is just five months away. The good news today is: Our MBS Real Studio Plugin Session has been accepted. Your chance to see what's new in our plugins, learn about what is coming and ask questions directly to me.

If you know already that you will join us for the conference, you can register on the conference website and have the chance to win a Disney Park ticket.
Also if you have an interesting topic for a session, please contact Real Software.

Real World 2012 was a huge success with over 100 attendees from 14 countries, featuring 20 exciting sessions. On the heals of that success, we will be returning to sunny Orlando, Florida in 2013 at the Holiday Inn Downtown Disney!

The 2013 Developer Conference will be even bigger and better than 2012, with 3 full days of presentations and events!

MBS Real Studio Plugins, version 12.5pr11


New in this prerelease of the 12.5 plugins:
  • Fixed bug in VLC Plugin with drawing to CGContext.
  • Fixed NSControlMBS.stringValue so assigning empty string does not raise an exception.
  • Added ReadPipePacket, WritePipe and WritePipePacket methods to WinUSBMBS class.
  • Added MacUSBMBS class.
  • Added Icon, IconImage, IconMask to IconFamilyMBS class.
  • Fixed bug in WinUSBMBS.PipePolicyMaximumTransferSize.
  • Changed CURLMBS/CURLSMBS.OpenMTInputFile to set input size to file size.
  • Added AddValues/AddKeys methods to map classes for older Realbasic versions.
  • Added SetGrayPicture, SetRows and a few constants to PNGPictureMBS class.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Tip of the day: Console support in GUI app


You can have a GUI application in Real Studio and still take command line parameters and output to console. This means that people can launch your app by double clicking and use it normally. But someone else can write a shell script (or batch file on Windows) to call your app with command line parameters and just do a certain task. After the task is done, the app quits so it can be called again for the next batch job.

In order to do this, we have StdOutMBS class in our plugins and our latest 12.5pr plugins contain a sample project for this. You can use StdOutMBS.Write to write to the console. Be aware that some actions like showing a msgbox turn your app into a GUI app which may make it impossible to write to the standard output.

Check out the example and try to see if you can find an use for this. If you have questions, please do not hesitate to contact us.

Real Software engineers, how about having a command line switch for the Real Studio IDE to load a project, build it and quit? This way we could easier batch build projects.

Real Studio Black Friday Sale


Save 30% on all new Real Studio licenses.

Real Studio, the cross-platform web, desktop and console development tool, will be on sale for Black Friday, November 23, 2012, the biggest shopping day of the year in the United States, from 12:00 AM to 11:59 PM Central Time. All new licenses will be discounted to 30% off their original price. Go to the Real Software Store on Friday, November 23rd and the discount will be applied when you checkout!

Real Software Store

MBS Real Studio Plugins, version 12.5pr10


New in this prerelease of the 12.5 plugins:
  • Fixed plugin pictures on console target, so they are no longer 100% transparent.
  • Fixed StringToVariantHashMapMBS and other map classes to have ValueAtIndex and Key functions to work on Realbasic 2007.
  • Added ChartDirector examples for cursor tracking.
  • Fixed bug in RegistryValue.asLong32 and RegistryValue.asLong64.
  • Fixed RegistryMBS.getStringValue function.
  • Fixed WinUSBMBS constructor.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

ChartDirector with Tracking Cursor


The conference ended and went well.
I actually presented something very new: Cursor tracking in ChartDirector.

With 12.5pr10 we include six new example projects with our plugins for tracking cursors.

Just take a look at the pictures and wait for the new plugins:

a financial chart:


with line and values in legend:


with line and values in chart:


with values on the axes:


with values on the axes for two vertical axes:


and also with bar charts:

Keynote with Stéphane Pinel


Stéphane is just giving presentation about state of the Real Software projects like Cocoa, Web Edition, LLVM and 64 bit. And of course we can't wait for him to show RS 2012r2. Later tonight Geoff will show 2013r1 and we are excited to see iOS support.



If you are in Koblenz, join us tonight with our boat trip and/or the dinner in the Weindorf restaurant.

Greetings from Training in Koblenz


Just a picture taken at lunch time.

Already a couple of other people arrived for tomorrow and we are enjoying the hotel bar.

MBS Real Studio Plugins, version 12.5pr9


New in this prerelease of the 12.5 plugins:
  • Changed some multithreading functions to use Grand Central Dispatch on Mac OS X 10.6 and newer like PictureMBS.Scale.
  • Changed icon functions to be console safe.
  • Fixed leak of threads in many multithreading functions like PictureMBS.Scale.
  • The plugin created threads now have a stack size of 2 MB to avoid stack overflows and names to make debugging easier.
  • Fixed DynaPDFMBS.GetFieldName to work with unicode names.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Real Studio Conference in Koblenz about to start


I'm writing this on saturday. Just one day left until we meet with a few people in the hotel. Some people taking the training actually come sunday evening.
If you like to join us, feel welcome to come. Even if you are not joining the conference. Actually it's quite likely to find people on every evening in the hotel at the bar. Or downstairs in the Weindorf next to the hotel.

You can still register on the conference website.
The Mercure hotel located in Julius-Wegeler-Str. 6, 56068 Koblenz.

MBS Real Studio Plugins, version 12.5pr8


New in this prerelease of the 12.5 plugins:
  • Added WindowsKeyboardLayoutMBS class.
  • Added Window.NSPanelMBS function.
  • Added Picture.ColorizeMBS.
  • Added CUPSMBS.SetDefaultPrinter.
  • Updated DynaPDF to version 3.0.21.55.
  • Updated ShortPathMBS and LongPathMBS on folderitem to be unicode safe.
  • Added NSControlMBS.ConnectActionEvent method.
  • Fixed possible crash with NSSavePanelMBS class.
  • Added SetGrayPicture, SetRows and a few constants to PNGPictureMBS class.
  • Added Picture.IsGrayMBS method.
  • Added new methods and properties to Twain classes.
  • Removed InstallEvent and RemoveEvent from TwainMBS class.
  • Added CDMultiChartMBS.getChart, CDTTFTextMBS.destroy, CDXYChartMBS.getLayer and CDXYChartMBS.getLayerByZ.
  • Added StdoutMBS.AttachConsole and StdinMBS.AttachConsole.
  • Added TextInputSourceMBS class.
  • Fixed possible leak in NSLocaleMBS constructor.
  • Fixed crash in PHPMBS constructor. Now it raises exception if PHP library is not loaded.
  • Updated ChartDirector to version 5.1.1.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Real Studio 2012r2/2013r1


Real Software announced the Real Studio 2012r2 beta and the 2013r1 alpha.
The good thing: They make progress and show something and it looks like we get another release this year. 2012r2 will have the old IDE, but new framework and 2013r1 will have the new IDE.
If you like, join the beta program and test 2012r1b1.

If you see a problem with our plugins, please send bug report directly. We test our plugins with 2012r2b1 and 2013r1a1, but if you see an issue it helps us getting things fixed quicker.

Ten days until Real Studio Conference in Koblenz


Ten days left to register and seats are filling already. We still have a few left, so you can still register on the conference website. Already we have people from France, Romania, Sweden, Austria and Germany.

Take the chance to learn about Real Studio 2012r2 and 2013 versions, see progress on new IDE and the iOS support. Learn about how to use web edition, databases, color management and xml to improve your applications. Talk directly to Stephane Pinel from Real Software. Take the chance to get in touch and show your problems, make feature requests and present your own projects.

If you need help for finding a hotel or planning your trip, please don't hesitate to contact us. See you there!

Recent RealSoftware blog entries


On the Real Software Blog you find some useful tips and tricks articles:

MBS Real Studio Plugins, version 12.5pr7


New in this prerelease of the 12.5 plugins:
  • Updated MBS Plugin Manager project.
  • Rewrote RenderSamplesMBS function.
  • Improved DirectShow grabber so it uses half the CPU time.
  • Added SCPreferencesMBS.CreateWithAuthorization.
  • Added MySQLMBS.NumberOrRows.
  • Added RecordCount support for RecordSet in use with SQLDatabaseMBS class and PostgreSQL or MySQL.
  • Added TwainMBS.DontUnload.
  • Added NSLayoutManagerMBS.font property.
Download: macsw.de/plugin/Prerelease. Or ask us to be added to our shared Dropbox folder.

Just two weeks until Real Studio Conference in Koblenz


Just two weeks left until the conference. Everything is ready and if you like, you can register your seat today.

Take the chance to learn about Real Studio 2012r2 and 2013 versions, see progress on new IDE and the iOS support. Learn about how to use web edition, databases, color management and xml to improve your applications. Talk directly to Stephane Pinel from Real Software. Take the chance to get in touch and show your problems, make feature requests and present your own projects.

For tuesday evening, we will do a sight seeing boat trip on the Rhine, so if you are registered, please notice us if you like to join this trip. Also we reserved space in the Weindorf restaurant for dinner as it's very nice location and quite close to the conference hotel.

If you need help for finding a hotel or planning your trip, please don't hesitate to contact us.

See you in two weeks!

Encryption Interoperability


Sometimes it can be difficult to get things working in several development tools. For example if you encrypt something in a server shell script using openssl, you may want to decrypt in a Real Studio app. For example this command line:

openssl aes-128-cbc -in input.txt -out input_enc.txt -k mypassword -p

Runs AES 128bit CBC Mode encryption on an input.txt file. Result is written to input_enc.txt file and we use the given password. Also we didn't disable salting, so the encryption will get some salt.

So how we decrypt with MBS Plugin?
Well, we first locate the file and read it. If first 8 bytes are "Salted__", than the next 8 bytes are the salt. This is how OpenSSL adds flavor. Next we need to build key and initial vector using password, key and salt and pass them through MD5 to make them more random.

Now we can set key to AESMBS class. With passing key as string, the length of the key (16 bytes) will define that we use AES-128. We built memoryblocks for input and output and pass them Through DecryptCBC. Finally we need to remove PKCS7 padding. In result variable, we keep the result. If you encrypted text, this is the time where you can add a DefineEncoding call to mark it as UTF-8 or so.

Below you see the complete code: (more)

Greetings from Birmingham Real Studio meeting


We currently have 19 people here as a few cancelled. But still a great meeting with a lot of interesting projects and details:

If you missed this event or you need more, please join the conference in Germany in three weeks.

Tip of the night: Thread Stacksize


The stack size of threads is an issue. It can cause random crashes. For code in Real Studio, there is extra code inserted in every method to ensure you get a StackOverflowException. But in C code, this check is not performed. So if you have a full stack and you call into the Real Studio runtime, some DLL or a plugin, the function can overwrite the some objects in memory located behind the end of the stack.
With a tiny stack of just 64 K by default on Mac this is very likely to happen with a little bit of recursion.
So please set stacksize to a higher value like one million bytes.
Also sign on this bug report: 22996: Increase default Thread.Stacksize

Getting together in Birmingham



We were 12 people for dinner and it was an interesting discussion about Real Studio, Macs/PCs, iOS/Android and weather in the US.
See you tomorrow!

Conferences


I arrived today in Birmingham and will soon join others for dinner and cold drinks.
If you like to come along for a beer, you can join us from 6pm tonight at the Bacchus Bar, Burlington Arcade, New Street, Birmingham B2 4JH (near the Pallisades ramp).

If you come for the Real Studio event, please enter this door. It's the side of the house looking to the temple building. Than go to the front bar and ask for the room of the meeting.
Due to missing house numbers, we needed to walk around the house to find the right door.

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