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.
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.
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.
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.
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 Filemakerplugin also for similar functionality.
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.
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 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.
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
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!
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?
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.
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.
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
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:
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.
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.
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!
You can download project here: please use newer example in plugin download.
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.