Over the years APIs (application programming interface) change. As we code plugins in C, C++ and Objective-C, we are faced with all the changes from Apple and Microsoft as well as changes in libraries we use. No need for you to keep up to date with those changes as we can update the plugins to newer APIs without changing the interface to REAL Studio. We already switched a lot of functions from using Carbon to Cocoa for the future REALbasic Cocoa target. Also we updated older file functions on Mac from using FSSpec functions to newer FSRef functions. No need for you to care about this implementation details.
But from time to time things change or we simply discover a bug. For example on the CURLMBS class we had several changes over the last years. With newer CURL library versions there are options going away and new options being added. Whether an option in CURL is an integer or a boolean is not always well documented, and sometimes changes over time. So a few properties like OptionFTPCreateMissingDirs changed their type from "boolean" to "integer" to allow a third state. Other properties changed because we simply chose the wrong REALbasic data type. Also we had a typo error in our code so we renamed GetInfoResposeCode to GetInfoResposeCode.
If you have an old project which does no longer compile or function properly, you can try to fix it yourself. But before you become frustrated, please email us. Maybe you missed just a little note in our release notes. Good night.
The Combobox is a nice control, but it lacks a lot of features.
It has currently 43 feedback items in feedback and it could be a few more. What I'm missing personal are methods to open the combobox and let the user see choices while he types. Of course it would be nice if documentation says that DeleteAllRows for example clears the text in the textfield.
My feedback report:
feedback://showreport?report_id=12593
Please sign on, add your comment there and put it on top of your favorite list. I already got it here from position 3422 to position 843
Do you know phidgets? That are little USB devices which I support with my plugins. There are phidgets with sensors like distance, reflection, weight, touch, motion, voltage, temperature and a few more. There are several motors available, RFID readers, displays, LEDs and couple more.
I personally have a Text LCD Display here for testing.
So if you want to write an application which emails the user if the temperature in the server room is too high, you can use the temperature sensor.
And believe me, there is a lot of money you can make if you offer consulting for companies in your area to help on automating operations. For example how about an app which uses a sound and a light sensor to detect people, activates a camera and sends an email with the picture to some security personal? Maybe also using a RFID sensor on some key locations where a security guard can identify itself and being not a burglar?
Today I run a big sample of addresses through a mapping tool. Of course data is anonymous as precision was reduced and we do not show who lives under the red dots.
This time I not just made a world map, but also a map for the USA and one for central Europe:
Download big images:
realbasic-users-europe.png
realbasic-users-usa.png
realbasic-users-world.png
Especially those big maps are quite useful if you want to plan a REALbasic related event and you need to know where you find clusters of users.
Enjoy them and write me. Is this useful? Interesting?
We get orders for new plugin licenses every day, but from time to time things go wrong.
Sometimes customers make an order and call us 5 minutes later as they want to release their application right now and are waiting for the license. Please make sure you order licenses long before you ship. Best before you give your app to testers because from time to time there can be a bug in the registration code. And it doesn't look nice if you ship an app which tells the user that you don't have a REAL Studio or MBS Plugin license.
Other issue is that emails sometimes do not reach their destination. Sometimes people make an order and we do not receive it. Or we sent a license key and that email is lost. So if you wait for a response and you did not hear from us within 2 days, you should contact us. For the rare case we do not get your emails, please use our feedback forms on the website. Also it is always good to have a second email account using a different server in a different location with different spam filters.
Currently, I'm waiting for a client from Milano to respond. So if you read it here, please email me.
What happens if your application runs out of memory?
See Feedback
Report 12072: REALbasic crashes when C++ raises exception in out of memory situation
REALbasic does not handle exceptions on the c++ new operator, so your app crashes. I hate this. I'd prefer if they catch this c++ exception and raise an OutOfMemoryException (which they prepared earlier when they had memory).
Today I added a plugin method InstallSystemExceptionHandlerMBS. If you call it, it will wait in background and whenever your app crashes, it will show a message. The last message before your app dies, but it's better than nothing. This works currently on Mac OS X and Linux, but not on Windows.
InstallSystemExceptionHandlerMBS(Message as string = "")
If you like to try it, go to our prerelease plugins and download the new Main plugin and the sample project:
http://www.macsw.de/plugin/Prerelease/
feedback://showreport?report_id=12526
REALbasic strings have a text encoding assigned and you normally do not care. For example if you pass a string from an editfield to a function like val(), you do not need to know what text encoding the string has. A function returns a string in the easiest encoding. The next function works with that encoding or converts it to whatever it needs. All transparent for you.
Now if one of the functions fails on this process, you are in trouble. Especially if it's a core function from the REALbasic runtime which is used in every app:
The len() function does not return the correct string length for strings with the UTF16BE encoding.
Please add this feedback item to your favorites on a good position as we need bugs like this fixed yesterday.
New in the second prerelease of the 10.4 plugins:
- Changed loading of libhid and libusb in Linux HID Plugin part to make it compatible to more linux versions.
- Removed WindowsPrinterListMBS class.
- Added GetDefaultPrinter and SetDefaultPrinter to WindowsPrinterMBS class.
- Added ChangePrinterSettings, GetPrinterSettings, GetPrinterTechnology and CanPrinterPassThroughPostScript to WindowsPrinterMBS class.
- Added WindowsDeviceModeMBS class.
- Added WindowsPrinterMBS.DevMode.
- Updated DynaPDF to version 2.5.0.529.
- Changed a few internal unicode functions. I hope this has no side effects.
- Added CGGetOnlineDisplayListMBS.
- Added LinuxHIDInterfaceMBS.Available
- Added Picture.RotateMemoryMBS
Download:
macsw.de/plugin/Prerelease
Seems like REAL Software plans two events in asia. From their
twitter message:
Save the date! REAL Software event Japan Aug 2 @ Fukuoka, REAL Software event Korea Aug 4 @ Seoul
Same in a recent
twitter message from REAL Software Japan.
Who plans to visit such an event? Please email me, post a comment or use the feedback forms.
Maybe there are enough so I may decide to come? 15 hours for a 9000 km flight.
Learn Something New Every Day...
Today I learnt that in RB 2009r2.1 (Still my favorite RB version) the ContainerControl.EmbedWithin places the controls on front on Windows and on the back on Mac OS X.
That is the reason I now have a canvas on the Mac side. So I can embed a second layer not on the window, but on the canvas to have it on front. On Windows I can simply embed to the window.
New in the first prerelease of the 10.4 plugins:
- Fixed WebViewMBS constructor to work again.
- The Linux HID Plugin part now loads libhid.so and libusb.so at runtime. So your app launches if this libraries are missing and you can ask the user to install them.
Download:
macsw.de/plugin/Prerelease
You may know the VLC application. It plays all kind of video formats and behind it, there is the powerful library call libvlc. Basicly the application is just the front end to this library. Now you can use this library in your applications to play audio video, extract frames.
The only problem is that libvlc is GPL, so we may have problems using it in commercial projects.
Contact me if you are interested in this project.
There is a new blog post on
www.realsoftwareblog.com about their progress on Cocoa.
While I see those screenshots with Carbon and Cocoa, I hope they make the controls look identical on both targets. I'd hate to move/resize all my textfields, statictexts and popupmenus to have the app look the same on Cocoa as on Carbon.
If you like those pushbuttons, check our NSButtonMBS class. You can have them already today in REAL Studio. Same for the ghost picture with Drag & Drop. If you need help for implementing this, email me.
Just my 0.02 cents...
The MBS plug-in comprises a collection of several plug-in parts which extend the REALbasic development environment with 1,300 classes featuring over 29,000 documented functions.
This is a big update to our plugin collection. Featuring 36 new classes and over thousand new features, we can only list a few highlights here:
First we have a new example project coming with our ChartDirector plugin: Inside the ChartDirector Control project, you will find a canvas based ChartDirector control which implements adding charts to your application. With a few clicks you copy this class to your projects and add beautiful charts to your applications. All the difficulties in the mouse handling have been done for you so you can zoom and move in the chart.
Second, we have a new WIA Plugin part. This 20 new classes for Windows Image Acquisition let you browse for digital cameras. Once you have a device, you can import images or send commands to capture new images or delete images.
Third, we got a few customizable Cocoa controls: You can now customize a PDFView, a QTKitMovieView or a QTKitCaptureView. Draw into the display as you need to show custom widgets and get mouse events for them. Also we have a lot of new Cocoa related stuff like the Render function for the PDFPageMBS class to give you pictures for pages.
Also we got HID classes for Linux, a set of functions for a Machine ID, new picture functions and a lot of improvements on the existing stuff.
Release notes
We will release 10.3 plugins later today. Here are already the release notes:
(more)
New in the 9th prerelease of the 10.3 plugins:
- Fixed text encoding on DynaPDFMBS.EnumHostFontEx on the FilePath parameter. Now Windows ANSI on Windows and UTF8 on Mac/Linux.
- Fixed a crash in SQL Plugin with SQLite on Linux.
- Fixed a bug in SQL Plugin String handling.
- Updated DynaPDF to version 2.5.0.528.
As we are close to the release of final plugins, please report all bugs you see as soon as possible.
Download:
macsw.de/plugin/Prerelease
There is a regulary meeting of REALbasic users in Atlanta and if you have time, I suggest you check it out. I hope to attend myself the next time I visit the USA:
The Atlanta REALbasic Users Group will be meeting Monday, June 14th. For this meeting we'll be discussing threads, how to best implement them, and how to get the most out of the processing power that is in our PCs and at our fingertips.
When: 6pm to 9pm
Where: Ippolitos Restaurant, Sandy Springs
http://www.atlantausergroups.com/events/atlanta-real-studio-users-1
If you live in the Atlanta area, we'd love to meet you and talk all things REAL Studio!
Bob Keeney wrote a nice article about
coding guidelines.
I recommend you read it. Maybe you can learn something?
New in the 9th prerelease of the 10.3 plugins:
- Changed CURLS Plugin on Windows to link to a different set of libraries so CURL now supports SSH on Windows, too.
- Fixed a check in the ScreenshotMBS function which made the plugin use slower QuickDraw methods in cases where OpenGL should have been used.
As we are close to the release of final plugins, please report all bugs you see as soon as possible.
Download:
macsw.de/plugin/Prerelease
Not sure if you know it, but we have a nice function TabpanelEnabledMBS in our plugins to disable tabs in a tabpanel. Currently Mac only and I use it frequently myself. No idea why REAL Studio does not support it out of the shelf:
Sometimes people ask me questions like:
- Why do you have so many options in your order pages?
- Why do you need to know my postal address (or country)?
- What is a VAT IDs.
So here an explanation:
(more)
Es gibt eine neue Ausgabe vom Hakin9 Magazin:
Download:
http://download.hakin9.org/de/Hakin9_DE_05_2010_DE.pdf
Website:
http://hakin9.org/de/magazine/1104-ssl-zertifikate-sicherheit-mit-einschrankungen
English: There is a German magazine about IT security and you can download here the newest issue.
Over the last years I wrote dozens of articles for the REALbasic Developer Magazine. A few months ago I had the idea of making some articles available to more people. Not everyone using REALbasic has a subscription, so this free issue collects a few nice articles.
If you like the magazine, check out their website, read some of the older issues or get a subscription.
More information and Download
Thanks to Marc Zeedar from RB Developer Magazine to make this possible. Also thank you to Dan Wilson who made a special MBS related comic and Jeff Quan for the nice cover art with the plug-in.
Nickenich, Germany - Monkeybread Software today is pleased to announce the release of Transparent Screensaver 2.3, an update to their popular screensaver utility for Mac OS X. The utility adds a variable transparency overlay screensaver to the list of screensavers in Preferences. With the screensaver running at 50% the effect is one of dimming the desktop and all open windows; 0% is black; 100% is completely transparent. With the screen lock option engaged, the user can continue to view their iChat Buddy List, iTunes Library, or any open process or window, while waking their computer from screen saver mode is password protected.
If the user wishes to remain logged in to their computer, but prevent others from using it, he can lock the screen. This is done in System Preferences - Security - General. By selecting "Require password to wake this computer from sleep or screen saver," password authentication will be necessary to leave screen saver mode. With Transparent Screensaver the user can continue to view the desktop and all open windows while the computer remains inaccessible to others, screen locked.
Feature Highlights:
- Transparent screensaver dims screen
- Screen may be locked in transparent screensaver mode
- Screen may be monitored while computer is inaccessible in screen saver mode
- Prevents burn-in, maintains privacy, and protects security
- Simple to use and install utility
Version 2.3 makes Transparent Screensaver Snow Leopard compatible. The utility is self-installing after download, allows variable transparency from 0% to 100%, supports a variable screen update rate of 0 to 30 frames per second, and includes two additional screensavers: pure white and pure black. Although screen burn-in (permanent damage to a monitor from continuous display of a single image over many hours) is less of a problem with modern LCD screens than CRTs, Apple still provides an optional screensaver function when there has been no input for three hours or less. At 50% or less transparency, Transparent Screensaver provides both protection from burn-in and the ability to monitor a locked screen. Also fixed in version 2.3 is a memory leak issue present only in Mac OS X 10.6.3.
"MBS Transparent Screen Saver is an ideal solution to privacy, security, and burn-in issues in Mac OS X," stated MBS CEO Christian Schmitz. "It incorporates all the benefits of a screensaver, while preserving screen visibility."
System Requirements:
- Mac OS X 10.5 or later
- 228 KB
Pricing and Availability:
MBS Transparent Screensaver 2.3 for Mac OS X is currently available as shareware, which is free to test for 30 days. A license is available from MBS for 15 US Dollars, or 10 Euros. Review copies are available on request.
Monkeybread Software:
http://www.monkeybreadsoftware.de/
MBS Transparent Screensaver 2.3:
http://www.monkeybreadsoftware.de/Freeware/Transparent.shtml
Download MBS Transparent Screensaver:
http://www.monkeybreadsoftware.de/Freeware/Transparent.zip
Screen Shot:
http://www.monkeybreadsoftware.de/Freeware/images/Transparent.jpg
Application Icon:
http://www.monkeybreadsoftware.de/images/MBSLogo.jpg
Located in beautiful Nickenich, Germany, Monkeybread Software is a privately held company founded in 2000 by Christian Schmitz. Monkeybread Software focuses on the Macintosh and Windows platforms. With over eleven years as a software developer, Christian's aim is developing unique and useful utilities, complemented by first-class customer support. Copyright 2000-2010 Christian Schmitz Software GmbH. Monkeybread Software is a registered trademark of Christian Schmitz, Nickenich. All Rights Reserved. Apple, and the Apple logo are registered trademarks of Apple Computer in the U.S. and/or other countries.
New in the 8th prerelease of the 10.3 plugins:
- Added ATSUTabMBS class.
- Added CFAttributedStringMBS class.
- Added DynapdfMBS.GetInIsTrapped.
- Fixed PDFViewMBS constructors.
- Updated DynaPDF to version 2.5.0.526.
- Added NameExtensionMBS and NameWithoutExtensionMBS functions to folderitem class.
Download:
macsw.de/plugin/Prerelease
As you may know we have a couple of
video tutorials for our plugins.
Now do you have wishes?
Tell us what topics you'd like to see. What classes may be interesting for you to learn more about?
Please send us an email, use the comment or feedback forms.
There is a regulary meeting of REALbasic users in Atlanta and if you have time, I suggest you check it out. I hope to attend myself the next time I visit the USA:
The Atlanta REALbasic Users Group will be meeting Monday, June 14th. For this meeting we'll be discussing threads, how to best implement them, and how to get the most out of the processing power that is in our PCs and at our fingertips.
When: 6pm to 9pm
Where: Ippolitos Restaurant, Sandy Springs
http://www.atlantausergroups.com/events/atlanta-real-studio-users-1
If you live in the Atlanta area, we'd love to meet you and talk all things REAL Studio!
Have you ever thought what happens if you have a 64 bit application leaking?
(more)
Ever wondered how to import a photo from a digital camera into your REAL Studio application on Windows?
(more)
New in the 7th prerelease of the 10.3 plugins:
- Added WindowsVMStatisticsMBS Constructor.
- Added WindowsProcessStatisticsMBS class.
- Added QTKitCustomMovieViewMBS class.
- Added QTKitCustomCaptureViewMBS class.
- Added Picture.BlurMBS function.
- Added constructors to QTKitTimeMBS class.
- Renamed GetInfoResposeCode to GetInfoResponseCode in CURL classes.
- Added PictureMBS.CalculateMemory.
- Added PictureMBS.CanAllocateImage.
- Added PictureMBS.ImageFormatBuffer.
Download:
macsw.de/plugin/Prerelease