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
New in this prerelease of the 2.6 plugins:
- Improved Webviewer memory handling on Windows.
- Added ProgressDialog.GetTopMost and ProgressDialog.SetTopMost
- Added WebView.PrintPreview (For Windows)
- Added Font.Activate and Font.Deactivate functions.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/
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.
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.
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.
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)
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.
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
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.
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.
New in this prerelease of the 2.6 plugins:
- Fixed Mac plugin to be compatible again to Mac OS X 10.4 and newer. We lost that with adding SQL functions in pr2.
- Fixed ProgressDialog.GetBottomText to return bottom text on Mac and not top text.
- Added CURL.CloseDebugFile, CURL.CloseHeaderFile, CURL.CloseInputFile and CURL.CloseOutputFile
- Added CURL.CreateDebugOutputFile, CURL.CreateHeaderOutputFile, CURL.CreateOutputFile AND CURL.OpenInputFile
- Added CURL.SetOptionFileOnlyMode.
- Improved ProgressDialog button caption so it automatically fits the text length on Mac.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/
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.
Aron Kiesow was kind enough to post a custom function for Filemaker. With the
MBS_HTML_EncodeImage_JPG function you can embed images much easier into html pages for showing in the webviewer. It uses our plugins function
Container.GetBase64 to create the base64 version of the JPEG data loaded from the container. You can pass optional title, alt, width and height parameters if you like and simply insert the result.
Have fun and if you have similar functions, don't hesitate to tell us.
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
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
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.
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
New in this prerelease of the 2.6 plugins:
- Added String.DecodeFromURL and String.EncodeToURL functions.
- Added MouseCursor.Set function to show different mouse cursor while processing.
- Added ProgressDialog.GetPositionX and ProgressDialog.GetPositionY.
- Added ProgressDialog.Update to redraw dialog.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/
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?
Well, in Filemaker, you can use ODBC Data sources to connect to SQL Databases and use them in Filemaker. But what if you need more flexibility or other features? Like...
- having database server user selectable, so your users can decide on runtime which server is used with what credentials?
- you simple want to call a store procedure on a SQL Server to trigger something on a database?
- you simply want to run a query to lookup some value.
- executing a special SQL command, for example to cleanup database?
- Export/Import data from sqlite database file.
- access database of some other application to directly change a value
As you see, there are quite a few use cases where you need SQL connectivity to run commands or query data directly with a SQL server. Especially as SQlite gets more popular for single user applications, read or writing values there is very interesting. For example when using Aperture application from Apple, you could read details from the database about the pictures you have directly.
To enable this, our new
Filemaker plugin with
version 2.6 supports connecting to Oracle, Microsoft SQL Server, DB2, Sybase, Informix, InterBase, SQLBase, MySQL, PostgreSQL, ODBC and SQLite databases. You can connect and execute commands. And if your command is a query, you can query result set with data. Also you can easily call stored procedures and pass parameters. As we support using prepared statements, you can set parameters for SQL queries and avoid SQL inject attacks.
This plugin is based on
SQLAPI and you can read about server specific things on their documentation. As you see in our
SQL.SetConnectionOption, you tell the plugin where to find the client library for the database you want. This way we can keep the plugin smaller and simply connect to the newest client library. Once the database client and library is specified, you can connect and run your queries.
We have a guide about it and if you have questions, please contact us. You can read
all new SQL functions and
our SQL guide.
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.
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.
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
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.
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
- 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.
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!
New in this prerelease of the 2.6 plugins:
- Added new SQL methods for accessing multiple SQL databases (Oracle, SQL Server, DB2, Sybase, Informix, InterBase, SQLBase, MySQL, PostgreSQL and ODBC, SQLite).
- Fixed crash with CGPSConverter.Convert function.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/
Here we have a nice project to use
TinyMCE with Filemaker in a Webviewer. We use our plugin to pass data from Filemaker to Webviewer to load text. And also other way from Javascript in Webviewer to Filemaker.
You can download project here: please use newer example in
plugin download.
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
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.
Here a few new feedback bug cases which may be worth putting them on your favorite list: