Thursday 29 July 2010 at 5:43 pm

In recent plugin prereleases we added functions like this:
CallMethodMBS(target as object, name as string, value... as variant) as boolean
CallMethodOnMainThreadMBS(target as object, name as string, value... as variant) as boolean
CallMethodOnThreadMBS(BackgroundThread as BackgroundThreadMBS, target as object, name as string, value... as variant) as boolean
They are very similar. Currently they can take up to three variants as parameters, but that number can be increased if you need. The number of parameters you pass must of course match the declaration of the method you want to call.
Now you may ask: What do this methods do and why should I use them?
Well, first they call a method for you. Something that you can do yourself. Let's say you have a method like this:
sub test(someParameter as variant)
Now you can call in your code this method like this: window1.test("Hello World"). But you can also use our CallMethodMBS function can call it this way: CallMethodMBS(window1, "test", "Hello World"). As you see you need to pass an object for the function to be searched on. As you pass the function name as a string, you can make it dynamically. From time to time a feature like this is requested on the mailing lists and forums, so here you have it. CallMethodMBS returns a boolean whether the call worked. It fails of course if the target object is nil or has no such method.
Next you can use CallMethodOnMainThreadMBS to call this method. While this function returns directly to you, the actual function call will happen later on the main thread. Normally within a few milliseconds, but that depends on how busy your application is. You need a function like this if you do some work in a background thread and you need to perform code on the main thread. There is code doing GUI functions which must be called on the main thread, because it will crash otherwise. Especially with the new Cocoa target we will see this need. That it works most cases on Carbon/Win32 code has its reason in the fact that the main thread is mostly idle at that time.
The third set of functions called CallMethodOnThreadMBS will create a new thread for you and call your method there. Is makes multi threading in REAL Studio much easier than before. So instead of calling window1.test(somedata), you can now call CallMethodMBS(new BackgroundThreadMBS, window1, "Test", somedata). This will spin off a new thread and do the execution there, so your main thread has time for doing GUI actions. Your other code will run after this line just fine.
We need you to pass a new BackgroundThreadMBS object as the plugin can't create one on itself. Within some limitations you could build functions like this yourself, but our plugin gives you a convenience way to improve your times. Email us if you have more ideas for functions like this.
Thursday 29 July 2010 at 4:43 pm

New in the ninth prerelease of the 10.4 plugins:
- Updated DynaPDF to version 2.5.1.534.
- ScaleMBS works for me, but crashes for one customer. Help on reproducing is very welcome.
- Replaced REALBuildPictureFromGWorld from the plugin SDK with my own replacement for Cocoa so all plugin functions using it, will now work on Cocoa. for example: StringtoPictureByOSTypeMBS and StringtoPictureMBS.
Download:
macsw.de/plugin/Prerelease
Wednesday 28 July 2010 at 01:26 am

Today REAL Software released a new version of REAL Studio. We worked hard on getting plugins ready, but the Cocoa target and the console graphics gave us a lot of work. Most is ready, we hope, but not everything.
We already have a few bug reports REAL Software said they will fix in a 3.1 update. For example feedback ID 12772 where a project with the line "Backdrop = LogoMBS(500)" in a window.open event in Cocoa will not show the picture. Although the picture is there and you can see it in the debugger or if you display it in a canvas.backdrop.
Please email us about any problem you find related to our plugins so we can fix it.
Tuesday 27 July 2010 at 8:37 pm

New in the eighth prerelease of the 10.4 plugins:
- Removed Base64MBS.close.
- Updated DynaPDF to version 2.5.0.533.
- Added WindowsSystemTrayMBS.InstallEvent.
- Much more classes/modules have been modified to work on console applications.
- Added CallMethodOnThreadMBS, CallMethodOnMainThreadMBS and CallMethodMBS functions.
- Added BackgroundThreadMBS class.
- Changed MutexMBS.Tag to Variant.
- Fixed DRFileMBS.symLinkPointingTo function.
- Added ThreadMBS.StackSize property.
- In SQLDatabaseMBS the database error is now better cleared after an operation was successful.
- Changed picture handling code to work better with Cocoa and Console targets in REAL Studio 2010r3.
- Updated PictureEditor24MBS, PictureEditor32MBS, PictureReaderMBS and PictureWriterMBS classes.
- Added PictureEditor32ConsoleMBS, PictureReaderConsoleMBS and PictureWriterConsoleMBS classes.
- Added new NotificationObserverMBS class.
- Added new NotificationReceiverMBS interface.
- Added new NotificationMBS class.
- Renamed NotificationMBS to MacNotificationMBS.
Download:
macsw.de/plugin/Prerelease
Monday 26 July 2010 at 2:47 pm

A few changes are coming to plugin developers with REAL Studio 2010r3. We make progress on this and also REAL Software fixed a few of the bugs we found in the latest final candidates. So we are confident, we can have our 10.4 plugins working well with the new REAL Studio release.
Of course our
version supported table will soon be updated to show plugin version 10.4 as minimum for REAL Studio 2010r3. This does not mean that older plugins will stop working if you upgrade REAL Studio, but we recommend keeping the plugins up to date.
Thursday 22 July 2010 at 01:39 am
Currently we are busy like crazy. REAL Studio 2010r3 is close to release and will bring a beta of the new Cocoa target. I do expect that we'll get a ton of support requests because something is not working. And I do hope that we can simply point most people to download the latest plugin beta version.
So please be patient. Especially if REAL Studio 2010r3 may have some bug or non implemented functionality which we need for our plugins and you'll have to wait for 2010r4.
Some things work already, but some not, so we hope the final release will fix the problems.
Monday 19 July 2010 at 6:05 pm

The Atlanta REALbasic Users Group will be meeting tonight, Monday, July 19th. For this meeting we'll be discussing popular plugins, how to best implement them, strengths and weaknesses.
In addition, we'll be talking all of the latest news including news that pertains to us in Atlanta!
When: 6pm to 9pm
Where: Ippolitos Restaurant, Sandy Springs
http://www.atlantausergroups.com/events/atlanta-real-studio-users-2
If you live in the Atlanta area, we'd love to meet you and talk all things REAL Studio!
Saturday 17 July 2010 at 10:18 pm
We are happy about the birth of our son Michael.
Saturday 17 July 2010 at 02:05 am

New in the seventh prerelease of the 10.4 plugins:
- Added NSTextFieldMBS.bezelStyle property and constants.
- Added SetAnnotOpenState, SetAnnotIcon, SetAnnotHighlightMode, SetAnnotFlagsEx, SetAnnotColor, SetAnnotBorderWidth, SetAnnotBorderStyle, RenameSpotColor, AddRenderingIntentEx to DynaPDFMBS.
- Updated DynaPDF to version 2.5.0.532.
- Added a lot of new methods for DiscRecording plugin affecting the following classes: DRTrackMBS, DRSetupPanelMBS, DRFSObjectMBS, DRFileMBS, DREraseProgressPanelMBS, DREraseMBS, DRDeviceMBS, DRBurnSetupPanelMBS, DRBurnProgressPanelMBS and DRBurnMBS.
- Renamed initWithLinkType to linkWithLinkType in DRFileMBS class.
- Added more write methods to DynaPDF so you can pass arrays of values.
- Unregistered plugin dialogs now show version number and process ID.
- Fixed FontActivateMBS and FontDeactivateMBS on Windows to work again. Also console safe now.
- Made changes to the common picture creating code for better support of future REAL Studio versions.
- Most EyeOneMBS methods are shared methods now.
Download:
macsw.de/plugin/Prerelease
Friday 16 July 2010 at 11:59 pm
If you have a couple of license for our plugin parts like Util, Compression, Win, etc. and you like to get a complete license, you can email us and we give you your discounted upgrade price.
Thursday 15 July 2010 at 6:03 pm

see
http://www.realsoftwareblog.com/2010/07/real-studio-to-include-cocoa-framework.html
That's a cool move as this gives REAL Software a lot of real world bug reports for the new Cocoa target. And plugin users can test our plugins with Cocoa, too.
Wednesday 14 July 2010 at 5:19 pm

New in the sixth prerelease of the 10.4 plugins:
- Added ProcessMBS.CurrentProcessID.
- Added GifExtensionMBS.FirstData and GIFMBS.FirstBlock for easier debugging.
- Added GifPictureMBS.CopyData, GifBlockMBS.Clone, GifDataMBS.Clone, GifExtensionMBS.Clone, GIFMBS.Clone, GifPaletteMBS.Clone, GifPictureMBS.Clone, GifPictureMBS.HasPalette and GifScreenMBS.Clone.
- Added TraceFile and TraceHandle to the DynaPDFMBS class.
- Added DynapdfMBS.PageCoords property.
- Added QTPrerollMBS class.
Download:
macsw.de/plugin/Prerelease
Wednesday 14 July 2010 at 3:49 pm

Seems like today is a day where my email server is on the blacklist of some other email servers. In that case I send again using another email server.
So if you are waiting for an answer from me, it may be that your email or my email is in the filters and was rejected. In that case you can contact us with our feedback forms.
Sunday 11 July 2010 at 3:21 pm

Create a new REAL Studio project and add this test method to the window:
Sub Test(x as shell)
dim c as BevelButton
c.Enabled = true
End Sub
Now build your application.
You will see that the shell plugin code is added to the binary. But the AppearancePack is not included.
So REAL Studio detects, that this method is not needed and marks Bevelbutton for not to be included.
But it forgets to mark shell class here to be not included.
So the application size is bigger than needed.
Please add yourself to
Feedback 12735
Sunday 11 July 2010 at 2:00 pm
Normally we all put username and password in the URL for a download. It's simple and convenient. Like this:
"ftp://christian:123456@ftp.someserver.com/test/file.txt"
But what to do if the username or the password contains characters like "@" or ":"?
"ftp://christian@mbs:123456@ftp.someserver.com/test/file.txt"
this URL will fail to parse as CURL expects the server name after the first @.
The solution is to use the OptionUsername and OptionPassword properties for the name and password:
c.OptionUsername = "christian@mbs"
c.OptionPassword = "123456"
c.OptionURL = "ftp://ftp.someserver.com/test/file.txt"
I hope this helps you.
Saturday 10 July 2010 at 2:00 pm
Today a user asked: Where can I get this URL from the file I downloaded?

The answer is to use the
MacQuarantinePropertiesMBS class. There you have properties to get he origin URL, normally the website. Also the data URL where the file is located, the time stamp and which app did make the download. Also there is a property to tell you what type of download it is like a web download, an email, an calendar event or an instant message attachment.
Friday 09 July 2010 at 11:37 pm

New in the fifth prerelease of the 10.4 plugins:
- Updated DynaPDF to version 2.5.0.531.
- Added MacUSBDeviceMBS class.
- Changed linking of ChartDirector plugin to work better in the future with Windows 64 bit.
- Added more folder functions: (Create)AppleshareAutomountServerAliasesFolderMBS, (Create)AudioDigidesignFolderMBS, (Create)AudioPresetsFolderMBS, (Create)AudioVSTFolderMBS, (Create)AutomatorWorkflowsFolderMBS, (Create)AutosaveInformationFolderMBS, (Create)BootTimeStartupItemsFolderMBS, (Create)ClassicPreferencesFolderMBS, (Create)ColorPickersFolderMBS, (Create)CompositionsFolderMBS, (Create)DownloadsFolderMBS, (Create)FindByContentIndexesFolderMBS, (Create)FontCollectionsFolderMBS, (Create)iMovieFolderMBS, (Create)iMoviePlugInsFolderMBS, (Create)iMovieSoundEffectsFolderMBS, (Create)IndexFilesFolderMBS, (Create)InputManagersFolderMBS, (Create)InputMethodsFolderMBS, (Create)KeyboardLayoutsFolderMBS, (Create)LibraryAssistantsFolderMBS, (Create)MagicTemporaryItemsFolderMBS, (Create)ManagedItemsFolderMBS, (Create)QuickLookFolderMBS, (Create)SpotlightImportersFolderMBS, (Create)SpotlightMetadataCacheFolderMBS, (Create)SpotlightSavedSearchesFolderMBS, (Create)TemporaryItemsInCacheDataFolderMBS and (Create)TemporaryItemsInUserDomainFolderMBS.
Download:
macsw.de/plugin/Prerelease
Friday 09 July 2010 at 10:34 pm
see
REAL Software Forums
Friday 09 July 2010 at 5:57 pm
A quick note to those who looked for this: Next plugins will have a MacUSBDeviceMBS class to enumerate all USB devices on Mac.
For Windows, I suggest you check the WindowsDeviceMBS class which enumerates all devices on a Windows machine. Getting the vendor and product IDs is a little bit tricky there as you grab it from the device path, but certainly doable.
Thursday 08 July 2010 at 10:24 pm

Please check them, add a comment or put them on your favorites list. Every vote counts
Report 12692: CDbl/Val fail when encountering BOM character in UTF8 files
Report 7742: add a runtimeexception.ClassName property
Report 12703: OutOfBoundsException exceptions should have details
Report 6284: Add function to test for identifier existants
Report 12704: Feedback should have recent changes list on the library part of the bar on the left.