New in this prerelease of the 11.3 plugins:
- Updated PCRE Library to version 8.13.
- Fixed a possible crashing bug in RegExMBS class.
- Updated DynaPDF to version 3.0.11.20.
- Fixed OpenDialogMBS on Windows to once again use template for custom dialog layouts.
- Fixed a bug with QTFrameExtractorMBS on Windows. For that the Idle method is no longer a shared method, but a regular one.
- Added createBlob and createClob to JavaConnectionMBS class.
- Added NSGraphicsMBS Constructor with NSViewMBS parameter, so you can draw into NSView.
- Added JPEGExporterMBS XMPData property
- Added MD5 and MD5String methods to MD5DigestMBS class.
- Added NSGraphicsMBS DrawWindowBackground method.
Download:
macsw.de/plugin/Prerelease
We have a new convenience function in DynaPDF. It's RenderPageToImage. Here is some example code:
dim pdf as new MyDynapdfMBS
// where to get PDF pages
dim f as FolderItem = SpecialFolder.Desktop.Child("test.pdf")
// where to write
dim t as FolderItem = SpecialFolder.Desktop.Child("test.jpg")
pdf.SetLicenseKey "Pro" // For this example you can use a Pro or Enterprise License
call pdf.CreateNewPDF nil
call pdf.SetImportFlags(pdf.kifImportAll + pdf.kifImportAsPage)
// open file
call pdf.OpenImportFile(f,0,"")
// add page
call pdf.Append
// import the page
call pdf.ImportPageEx(1,1.0,1.0)
call pdf.EndPage
// render the page
call pdf.RenderPageToImage(1, t, 72, ImageView1.Width, ImageView1.Height, DynaPDFRasterImageMBS.krfDefault,
DynaPDFRasterizerMBS.kpxfRGB, DynaPDFMBS.kcfJPEG, DynaPDFMBS.kifmJPEG)
Now as you see, we create an in memory PDF object with CreateNewPDF and passing nil. We set import flags to get all page items and to import page as page and not as template. Next we open the import file. This is now the initialization. You can keep the PDF object in memory for use later. To get a page to a JPG file, we add a page and import a page replacing the current one. This way we have now the first page of the source PDF in memory. We close page and start rendering. This little function takes a few parameters. First the page number of the current in memory PDF you want to render. In our example, this is the first page. Be aware that if we imported page 5 of the PDF file, the in memory page number would still be one. Next it takes a folderitem for the destination path. We also pass width and height of the target size. Next we can give some render options, but we simply pass default. We use RGB format, a JPEG compression and a JPEG file format. Done.
If you run the code with our plugins, you can see the rendered page in the jpg file. Cool, isn't it?
Update: If you pass nil for the file parameter, the image is created in memory. You call GetImageBuffer to get the data and FreeImageBuffer to release memory.
If you filled a bug and got this status as an answer after waiting some time, it can be disappointing. Whether it's Real Software, Apple or some other software vendor.
If I report a bug, I'm never sure whether it is a bug or just my fault. I'm not sure whether it's going to be fixed or not. And if it is fixed, will I get it soon? Will they fix my old version with .1 version update or do I have to wait for the next major update?
With the decision of not fixing the bug, the status is clear. I can now find a workaround or decide myself that I won't fix it. Sometimes I would prefer if the companies answer soon that they won't fix it than if I have to wait years just to get a message that the problem is no longer reproducible.
What do you think?
New in this prerelease of the 11.3 plugins:
- Fixed bug with plugin calling GetFolderitem wrong. This affected ColorSyncProfileLocationMBS class.
- Added NSExpressionMBS class.
- Added NSSortDescriptorMBS class.
- Added NSPredicateMBS, NSCompoundPredicateMBS and NSComparisonPredicateMBS classes.
- Added NSMetadataQueryResultGroupMBS class.
- Added CFBookmarkMBS module. This is the new way with Mac OS X 10.6 to handle alias files.
- Fixed problem with WindowsSystemTrayMBS class. Some features like balloon didn't work on Windows XP, because we now compile plugins with Windows 7 SDK. And with Windows Vista some structure size changed which causes Windows XP to not show balloon.
- Added groupForUniqueId or personForUniqueId to ABAddressBookMBS class.
- On linux we now load gtk and gdk libraries with .0 in path name if needed.
- WinHIDMBS class now can use more than 520 bytes for background listening buffer.
Download:
macsw.de/plugin/Prerelease
Not sure if you read it already, but my case study is already two years old:
realsoftware.com/community/monkeybread.php
Comments?
If you want to be there, contact Dana or Alyssa from REAL Software and tell them your story.
Do you use the htmlviewer in one of your applications you submit to the Mac App Store?
Your app can be rejected with this reason:
The application accesses the following location(s):
'~/Library/Icons/WebpageIcons.db*'
The application may be
* creating files
* writing files
* opening files for Read/Write access (instead of Read-Only access)
in the above location(s).
After you asked yourself why we are made responsible for what Apple's Webkit framework does, the question is: how to solve this?
Actually Apple has an article about this:
How do I prevent my WebKit-enabled application from writing to the shared icon database?
And translating the code, it should be simply
dim u as NSUserDefaultsMBS = NSUserDefaultsMBS.standardUserDefaults
u.setBoolValue("WebIconDatabaseEnabled", false)
Put it somewhere in your startup code after plugin registration and before using a htmlviewer.
- I'll be on the Filemaker meeting at 8th December 2011 in Ulm, Germany.
- There is no ssh plugin. Simply because I prefer to use the shell class with the ssh command line tool. Much more efficient and easier to keep up to date.
- Added NSFileManagerMBS class. That's the last thing needed for iCloud.
- A Real Studio User group is starting in Sydney.
- I'm now a sponsor for Real World 2012. Sign up now to receive early bird price.
New in this prerelease of the 11.3 plugins:
- Fixed a memoryleak with DynaPDFRasterizerMBS.Constructor(PDF as DynaPDFMBS, Width as Integer, Height as Integer)
- Fixed a few memoryleaks with mutableCopy functions.
- Added NSWindowMBS methods for frame calculation: contentRectForFrameRect, frameRectForContentRect and minFrameWidthWithTitle.
- Added NSMetadataQueryMBS and NSMetadataItemMBS classes.
- Added NSFileManagerMBS class.
- Added more NSFilePresenterMBS methods.
- Added more NSFileCoordinatorMBS methods.
- Added more NSWorkspaceMBS methods.
- Added iCloud folderitem functions: HasUnresolvedConflictsMBS, IsDownloadedMBS, IsDownloadingMBS, IsUbiquitousItemMBS, IsUploadedMBS, IsUploadingMBS, PercentDownloadedMBS and PercentUploadedMBS.
- Added NSRunningApplicationMBS.ownsMenuBar.
- Added NSFilePresenterHandlerMBS class.
- Added DynaPDFColorProfilesMBS class and DynaPDFMBS.InitColorManagement method.
- Added CustomNSViewMBS.mouseDownCanMoveWindow event.
- Added SleepMBS method.
- Fixed a critical bug in DynaPDFRasterImageMBS class which showed only with cross compiling. The property offsets were wrong.
- This is first plugin version compiled with Xcode 4 for intel and Xcode 3 for PPC. Also I removed left overs from Codewarrior.
- Removed DNSQuery plugin part. This one can't be recompiled with Xcode 4.
- Fixed memory leaks in WindowsDevicesMBS class.
- Fixed exception handling for SQL Plugin with MT functions.
- Fixed bug in WriteRGB in TiffPictureMBS class. RowsPerStrip is no longer overwritten if you set it. Must be 8 for JPEG Compression.
- Updated DynaPDF to version 3.0.10.19.
Download:
macsw.de/plugin/Prerelease
For our
Real Studio Database Days, we have already 40 people to come for the conference day on Friday.
Don't miss the chance to meet so many Real Studio developers in one place, here in Europe.
I mean if you want to meet more, you'll probably have to go Real World next year, but that's 4479 miles further to west from Frankfurt.
see also
snapshots,
improvements,
sight seeing,
hotels,
companions and the
announcement
- Recompiling 400 plugins from scratch takes a whole day!
(more than 10 hours on a Mac with 4 cores with VMWare for Windows and Linux compilers.)
- Moved my Linux build machine to Ubuntu 10. Linux plugins now require glib 2.3, 2.4 or 2.7 depending on the features they use. We need 2.7 currently for OptimizePNG, PortAudio and ZipFile. If that is a problem for you, please contact us.
- "I am considering buying Real Studio and I believe that your plugin would provide the functionality I need." I see a lot of people the last weeks writing similar emails to me and I like it.
- Our transparent screensaver works very well on Mac OS X 10.7. I think even better than on 10.6.
- My forum notifier crashes every few weeks and forgets some IDs, so you see duplicates on the mailing list. Sorry about that.
- Sending data on WinHIDMBS class fails if the size of the data doesn't match the packet size. Mac system fills up with zeros, but Windows simply silently fails.
- Moved to Mac OS X 10.7.2. I got both Xcode 3 and Xcode 4 installed, so I can create PPC plugins. Still I may not do PPC any more for all projects. For example I may drop it for Filemaker plugin or SQLite Extension. Instructions here
- From Mail migration I now know that I have 323443 emails on disc. Spotlight says indexing hard discs will take 3 weeks, but it finished after 10 hours.
- We got a new third party example: EasyStatusItem. Also the CURL OAuth project is updated. Both will be in the next prerelease.
- If you use our plugins to connect to Oracle database and you want to update a LOB field in a table, you need to use 'FOR UPDATE' in the SQLSelect to actually have the row locked for update. Else you get error 22920.
If you plan to use Filevault 2 in Mac OS X 10.7.2 and you had previously the PGP whole disc encryption installed, you can get intro trouble.
Because as long as PGPwde.kext is in the /System/Library/Extensions folder, your Mac will not boot.
You can of course go in target disc mode and remove the file by mounting the disc on another Mac with Lion.
For me, it's the third time PGP WDE shocked me and certainly the last day it will be allowed to exist on my Macs.
NICKENICH, Germany (October 11th, 2011) -- Monkeybread Software releases version 2.4 of the MBS plug-in for Filemaker.
The MBS plug-in extends Filemaker with over 500 functions. Very popular are our functions for controlling the webview control on your database forms. Other key features working with PDF files, controlling windows, manipulate pictures and to query system informations. In version 2.4 we improve the existing functions and add a few new functions:
- Added new ProgressDialog functions.
- Added Drag and Drop functions for Mac.
- Added USB functions to find and list connected USB devices.
- Added CGPSConverter.Convert function.
- Added String.RemoveNewLine function.
- Added a String.WriteTextFile function.
- Added ShowURL function.
- Added String.ReadTextFile.
- Added Window.Resizable and Window.SetResizable.
- Added Window.ShowsToolbarButton and Window.SetShowsToolbarButton to hide toolbar button on Mac OS X.
- Added String.ReplaceNewline function.
- Added Window.HideScrollbars and Window.ShowScrollbars function.
Read the complete release notes here:
monkeybreadsoftware.de/filemaker/releasenotes.shtml
The plug-in is available for FileMaker 7 to 11 on Windows XP, Vista, 7 and as Universal Binary for Mac OS X. Demos are available on the website, along with license and purchasing information. Not all functions are available on both platforms, so please check the documentation.
The plugins can be downloaded on our website:
monkeybreadsoftware.de/filemaker/
The online documentation can be found here:
monkeybreadsoftware.de/filemaker/reference/
Subscribe to our mailing list to keep up to date:
monkeybreadsoftware.de/filemaker/mailinglist.shtml
For questions you can send us an email or use the feedback forms on our website. Plugin licenses are available starting at just 99 Euro / $149 USD.
- Added new ProgressDialog functions.
- Added Drag and Drop functions for Mac.
- Added USB functions to find and list connected USB devices.
- Added VersionAutoUpdate function which returns version number in format 020400xx. Same as Version, but better parsable.
- Added type paramters to PDFKit.GetPDFPageImage and WebView.RenderImage to select type and filename for image.
- Added resolution parameter to PDFKit.GetPDFPageImage function.
- Added box parameter to PDFKit.GetPDFPageImage function.
- Added PDFKit.SetIgnoreCombineErrors and PDFKit.GetIgnoreCombineErrors.
- Added String.RemoveNewLine function.
- Added a String.WriteTextFile function.
- Added new optional filename parameter to Window.AsPDF, GMImage.GeticcColorProfile, GMImage.Getprofile, GMImage.GetiptcProfile, GMImage.WriteToPNGContainer, GMImage.WriteToJPEGContainer, GMImage.WriteToGIFContainer and GMImage.WriteToPNGContainer.
- Added GMImage.WriteToGIFContainer and GMImage.WriteToPNGContainer.
- Added a TextToRTF function.
- Added new string functions: String.EncodeToHTML, String.DecodeFromHTML, String.EncodeToHex and String.DecodeFromHex.
- Added Path.NativePathToFilemakerPath and Path.FilemakerPathToNativePath.
- Added Trace function.
- Added ShowURL function.
- Added String.ReadTextFile.
- Added Window.Resizable and Window.SetResizable.
- Added Window.ShowsToolbarButton and Window.SetShowsToolbarButton to hide toolbar button on Mac OS X.
- Added String.ReplaceNewline function.
- Added Window.HideScrollbars and Window.ShowScrollbars function.
- Added CGPSConverter.Convert function.
- Fixed bug with Progress Dialog on Windows (progressbar jumped).
- Fixed a bug with dpi value not used right for PDF image creation.
- Window functions now only work for Mac with Cocoa. So we now require Filemaker 8.5 or newer on Mac for all functions touching windows.
- Updated Form Utility.
- Our Drag and Drop functions can't work on Windows as Filemaker overwrites plugin there.
- WebView.RenderImage now really has image type optional.
- Plugin Version function returns version now in format 2.4.0.xx where xx is the build number.
- Now includes Intel only version of plugin. You need that for a Runtime in the Apple Mac App Store.
- Graphicsmagick image references are now validated before being used. This avoids some trouble.
- Graphicsmagick functions WriteTo*Container now check if compression works.
- Window.SetCloseButton can now enable close button on runtimes on Windows.
- RTF function now handles unicode characters.
- Runtime solutions show first License dialog on first function call. (without license)
- Registration dialog now shows plugin version and last called function.
- Moving error handling so we return LastError to Filemaker instead of error message. So check lasterror of all plugin calls.
- If you need an html editor on Mac, you can use htmlviewer and make it editable with htmlviewer1.EditableMBS = true. For Windows, it's IEEditableMBS.
- To give a print job a name with Carbon Print classes, use JobName property on Print Settings class.
- DynaPDF, ChartDirector and SQL Plugins can have a different version than the other plugins, as they have their own license scheme.
- Seems like I got Xcode 3.x working on Lion, so I can continue with PPC support once I upgradet to Mac OS X 10.7.x! I must upgrade in order to compile plugins for iCloud.
- DynaPDF will have new page cache. Currently Windows only. I think I'll implement it for the plugins as soon as it's crossplatform (Mac+Win) at least.
- I put the Filemaker 2.4 final plugins online. They got delayed,but are ready for some time now. If nothing goes wrong, release is tomorrow with announcement.
New in this prerelease of the 11.3 plugins:
- Updated DynaPDF to version 3.0.9.18.
- Added EditableMBS and IEEditableMBS to HTMLViewer class.
- Fixed a multi thread problem with SQL Plugin.
- Fixed memory leak in DynaPDF picture rendering on Windows.
- Added EnabledTracksOnly parameter for GetSoundTrackMBS, GetTextTrackMBS, GetVideoTrackMBS in movie class.
- Added QTAudioChannelDescriptionMBS and QTAudioChannelLayoutMBS classes.
- Added QTTrackMBS.AudioChannelLayout function.
- Added movie.AudioSummaryChannelLayoutMBS function.
- Fixed bug in DrawRotatedTextMBS in Cocoa.
- Renamed shared method modifierFlags in NSEventMBS class to modifierFlagsGlobal.
Download:
macsw.de/plugin/Prerelease
On our conference day, 4th November 2011 in Frankfurt/Main, Germany, you can meet Real Studio developers from around the world including:
- Stéphane Pinel from Real Software
- Geoff Perlman from Real Software (via video chat)
- Jens Boschulte from DynaForms GmbH
- Simon Larkin from QiSQL
- Bob Keeney from BKeeney Software Inc.
- Thomas Tempelmann
- Christian Schmitz from Monkeybread Software
and more than 30 Real Studio developers.
Get in touch, share ideas and brainstorm new projects. Learn about what other developers do with Real Studio. And get the latest information about future of Real Studio from Geoff Perlman and Stéphane Pinel.
The biggest Real Studio event until Real World 2012!
At least we have more people on this event than on realcon2011 last May or realcon2010 last year.
see also
hotel pictures,
snapshots,
improvements,
sight seeing,
hotels,
companions and the
announcement
This are moments where I think about how much he influenced my life.
Think about where mobile phones would be if Steve didn't start the iPhone project at Apple?
How would laptops look today if Steve didn't push engineers for perfection to get battery life longer or the device thinner.
I wish Apple all the best and I'm confident that Tim Cook and his team will continue to run the company successfully.
see
http://www.apple.com/stevejobs/
Today in 4 weeks, we'll be sitting at the bar with some people. That will be the evening between the training and I know from a few people that they'll be there on the evening. So we can meet at the bar and decide what we do for dinner.
More details for the
Real Studio Database days on the website.
The hall:
(more)
New in this prerelease of the 11.3 plugins:
- Fixed TLS Issue for my plugins on Windows with recompiling Visual C runtime. Now you can again load all plugins.
- Added more classes and methods for Image Magick plugin.
- Added Buses function to LinuxUSBBusMBS class.
- Added BeginFullscreenMBS and EndFullscreenMBS to Movie class.
- Duplicated ImageMagick plugin. We now have plugins for 8, 16 and 32 bit quantum size. So you can process 16 bit images in Real Studio.
- ImageMagick plugin is now based on ImageMagick 6.7.2.
- Known issue: The filepath property of the DynaPDFMBS.EnumHostFontEx event is wrong. Will be fixed with next DynaPDF update.
- Added NSURLConnectionMBS class.
- Fixed a bug in PictureMBS BoxBlurFilter which made black border on pictures in windows.
- RegExMBS now uses UTF8 for everything and UTF8 validation is off by default for better performance.
- Optimized RegExMBS.ReplaceAll for the case you pass empty string as replacement.
- Added descriptorWithAlias, descriptorWithFSRef and FSRefValue methods to NSAppleEventDescriptorMBS class.
Download:
macsw.de/plugin/Prerelease
see
mupromo.com. This offer is time limited and ends in 20 hours.
Today we visited Frankfurt to look for nice places for our thursday evening before the
conference day. It was a beautiful day and we enjoyed our stay there.
Ten pictures to give you a little impression.
A part of the skyline. Actually 12 of the 13 highest buildings in Germany are in Frankfurt. And the river Main:
(more)
- UTF8 validation makes RegEx very slow. We'll disable it in next plugins by default. Also we'll make sure with ConvertEncoding that all strings are UTF-8.
- That is globalization: Our new floor tiles are from the U.A.E.. They came by truck over 6646 km and still aren't expensive. Check the route here
- If you see message about deprecated CPSGetFrontProcess function in console, don't worry about it. That's an internal framework function called by some other Apple framework. Seems like one side of Apple doesn't care for other side of Apple deprecated something.
- Next plugins will have ImageMagick with 8, 16 or 32 bit Quantum size. If you miss an ImageMagick function in the plugin, please email and we'll add it.
- Bob blogged about our Real Studio Database Days on bkeeneybriefs.com. I hope he can make it.
I just got a nice new example project from Christophe De Vocht. It shows how to open a HUD window in Cocoa and adds controls inside. The controls provided are PopupMenu, Checkbox, Slider and Button.
This project requires Mac OS X 10.6 or newer.
Please try it. We'll include it in the next prerelease, but you can download a copy here:
hudobjects.dmg
Thanks to Christophe De Vocht.
Whether you app is made with Real Studio, Filemaker, Xcode or something else, you'll need to learn about sandboxing.
First you can read
Apple's Documentation.
The important thing is to write an entitlement plist file. This can be a text file saved with some text editor (like BBEdit) and saved with extension .plist. Or use the Property List Editor application coming with Xcode.
An entitlement file can look like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
</dict>
</plist>
As you see it's simply an xml file with some special keys and values. Here we turn sandbox on and than define that we want user selected files to be read or written.
Once you have your compiled Carbon or Cocoa application and your entitlement file, you can sign your application. For that you need to name the certificate. If you are Mac Developer, you probably have already a Mac App Store 3rd party developer certificate, so you can use that one. The line goes like this:
codesign -s "certificate name" /path/to/your.app --entitlement yourfile.plist
Now you can run your app on Mac OS X 10.7 and see the sandbox: Yes in the activity monitor application.
It seems like our NSSavePanelMBS class works just fine in sandboxed application. Or do you see an issue?
A client recently asked what is new in
SQL and
ChartDirector plugin. This question is not easy to answer. First we have a lot of shared code between our plugins. The picture handling, the string handling, the file access and a lot of other key areas as common between plugins. A fix for one plugin, fixes it for all.
But a few things are unique to plugins. So I found this items for this year:
(more)
Still a month left and we already have more then 30 people from eight countries: Germany, Austria, Belgium, Sweden, France, United Kingdom, USA and the Netherlands. Want to join? Sign up
here.
We'll try to improve and learn from previous events. First big difference is that Monkeybread Software hosts the Real Studio Database Days and not Application Systems Heidelberg. Second is that we have one big room for everyone. With tables, wireless network and a brand new video projector for the presentations. Also I want to note that this conference day on 4th November is not a repetition of realcon2011. It's a new event and we asked speakers to show new content.
For the evenings, we expect to handle it very easy. Between 6 and 7 pm, we meet in the hotel bar and depending on the weather and pleasure, we may decide to have dinner right in the hotel restaurant or take the subway to the city center and visit some nice dinner location.
You want to show something? We still have spotlight slots available for short presentations on applications made with Real Studio.
PS: If you emailed Nils and you did not get responses, don't be angry. Nils left ASH end of May 2011 just after realcon2011, so he is no longer involved in Real Studio events.
see also
sight seeing,
hotels,
companions,
hotel pictures and the
announcement