The year 2015 will end in around three weeks. Do you need some more licenses?
- Last chance to update licenses purchased in 2013.
- You can order licenses for 2016 or later and have delivery plus payment done in 2015.
- And of course you can order updates for several years in advance for all your MBS products.
- As all licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
- If you need a Xojo license (new or update), we can always check whether a bundle of Xojo offers an advantage for you.
- For FileMaker please check if you have enough license for the number of seats or servers you have in use.
Especially if you run on a budget and you want to spend some money in 2015, you can buy updates for several years in advance.
For the new year, I thought about whether I could drop something for Real Studio.
The downloads for Real Studio are down to about 10% compared to Xojo plugin downloads.
The users with Real Studio version capable of building PPC apps may be down to less than 1%, so I wonder if I still should spend time building PPC and Universal libraries.
When PPC support is no longer needed, it may be worth to move the minimum target for OS X from 10.4 to 10.6. For 64-bit, we already use 10.7 as target and for Cocoa 10.5. Using 10.6 for all of those could simplify coding.
Finally if downloads for Real Studio go down further, the rbx plugin format is at question. I considered already to write a converter to convert Xojo plugins to rbx plugins, so users in need of those plugins could do conversion themselves. I would no longer need to upload those plugins.
What do you guys think about such changes?
PS: If you still use Real Studio, please use latest 15.4 plugins. They still work with REALbasic 2006r4 and newer!
New in this prerelease of the 15.5 plugins:
- Fixed a bug in CGPictureContextMBS class.
- Added uuDecodeMBS and uuEncodeMBS functions.
- Added NSAttributedStringMBS.GeneratePDF function.
- Fixed problem with JSONMBS.SuffixObject method.
- Updated SQLAPI++ 4.1.7.
- Updated DynaPDF to version 3.0.46.140.
- Added CipherMBS.Padding property.
- Fixed an issue with registration plugin part and web app.
Download:
macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.
New in this prerelease of the 5.5 plugins:
- Added new parameters for DynaPDF.ReplacePattern: TextScaling and TextRise.
- Changed calculation formatting to not format very long texts. New limit is 30000 characters.
- Updated SQLAPI++ 4.1.7.
- Updated DynaPDF to version 3.0.46.140.
- Added example for Solution Registration via elliptic curve signature.
- Fixed bug in ECKey.Verify.
- Added new optional ScriptParameter parameter to MenuItem.SetScriptAction and Menu.SetScriptAction.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
Did you see our recent improvements to
WinDataObjectMBS class?
It is great for receiving drags on Windows. Especially we got a case with Microsoft Outlook here. When you drag and email and/or attachments to your Xojo app, you do not get all data normally. But with using our classes, you can get more details.
For a normal Explorer file drag, the GetPaths function will give you folder items. But with Outlook attachments, there are not paths. But GetFileDescriptors gives you metadata for those attachments and GetFileContents function can give you the data. For the actual email, the GetFileName function gives you a path.
The reason for all those different functions is that Microsoft invented over the years newer ways to handle drag & drop, especially for files.
With now three ways to receive files, we are happy to get data into Xojo app from Microsoft Outlook.
Frohe Weihnachten und ein gutes neues Jahr!
Merry Christmas & Happy New Year
Joyeux Noël et Bonne Année
Buon Natale e Felice Anno Nuovo
Sebastian, Michael, Monika & Christian Schmitz
For our Germans speaking users:
Wir haben die Artikel zum MBS Plugin aus dem FileMaker Magazin gesammelt hier online gestellt: FileMaker Magazin Artikel:
- FMM 201105 Bilder skalieren mit dem MBS FileMaker Plugin, So bleibt Ihre Datenbank schlank
- FMM 201203 Arbeiten mit Dateidialogen, Komfortablere Dateiexporte per MBS Plugin
- FMM 201303 Script-Träger übers Netzwerk, Scripts triggern übers Netzwerk
- FMM 201303 Syntax Coloring, Berechnungen und Scripts bekennen Farbe
- FMM 201306 Zip-Archive auslesen, Bilder aus OpenOffice-Dokumenten extrahieren
- FMM 201401 Kalendertermine und Erinnerungen, Wie man Ereignisse aus FileMaker anlegt
- FMM 201402 Variablen, Globalisierte Lösungen per Plugin
- FMM 201405 Vorbereiten von PDFs für den Versand, Verkleinern großer Dateien
- FMM 201405 E-Mail-Versand, Mehr Möglichkeiten mit dem MBS Plugin
- FMM 201501 QuickList, Schnelle Listen für FileMaker
- FMM 201503 Neue Datensätze ohne Layoutwechsel, Mit Hilfe von SQL-Befehlen und dem MBS-Plugin
- FMM 201504 Datensätze effizient kopieren, Mit etwas SQL und dem MBS-Plugin
- FMM 201505 Wünsche werden wahr, Neues im „MBS-Plugin“ bei der FMK 2015
- FMM 201506 Authentizität durch Signaturprüfung, Daten übertragen und Veränderungen bemerken
- FMM 201601 iOS App SDK, Eigene iOS-Apps auf Basis von FileMaker
Wir empfehlen allen FileMaker Anwender ein Abo vom Magazin und den Kauf der alten Ausgaben. Das FileMaker Magazin ist eine excellente Quelle von Informationen, Anleitungen und Profitips.
New in this prerelease of the 15.5 plugins:
- Added noteHeightOfRowsWithIndexesChanged method to NSTableViewMBS class.
- Improved NSTableViewMBS to have more debugger visible properties.
- Updated DynaPDF to version 3.0.46.139.
- Added more LDAPMBS properties.
- Added more WinDataObjectMBS class methods.
- Fixed bug in HASPHLDMBS.HaspTimeToDateTime function.
- Deprecated HASPHLMBS and HASP functions. Please move to HASPHLDMBS classes for using HASP Sentinel dongles.
- Improved SignalMBS class to show better names in crash log.
Download:
macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.
New in this prerelease of the 5.5 plugins:
- Updated DynaPDF to version 3.0.46.139.
- Added DynaPDF.AssociateEmbFile, DynaPDF.AttachFile and DynaPDF.AttachContainer functions to embed XML for PDF invoices.
- Added LDAP functions.
- Fixed RichText.WriteContainer to use filename parameter correctly.
- Added Window.ResizeContentView.
- Changed plugin to use DynaPDF if initialized to render PDF preview images for PDF in container on Windows. This allows FileMaker to show preview on Windows. For Mac we render them using PDFKit.
- Changed plugin to return JPEG preview for containers with PNG images only in FileMaker 11 and older.
- Changed plugin to return container values with GIF images always now without JPEG preview. FileMaker doesn't need it.
- Added FM.DeleteRecord and FM.DeleteRecords functions.
- Added FM.UpdateRecords functions.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
As I am going to Cleveland for a conference, I thought about organizing a few Xojo meetings there. So if you are in Cleveland or Chicago area, maybe you want to join me for a dinner event?
So we have two surveys here:
Chicago, Illinois
Cleveland, Ohio
Maybe you want to check the dates and join us in March?
Once we come closer, we can decide on a date. If someone wants to suggest a location, please email me.
The PauseOnError Steering Committee, in collaboration with Cleveland-based host firm Adatasol, is pleased to announce the Sixth PauseOnError Conference in Cleveland, OH, Monday, March 14th to Tuesday, March 15th, 2016, at the
Metropolitan at the 9 hotel in downtown Cleveland.
Interface. Contribute. Learn. Be a part of your Community.
PauseOnError is a self-organized effort of software developers and consultants who use FileMaker. PauseOnError content is created by the attendees in a low tech and high touch environment, so leave Powerpoint at home and come prepared to share the mic.
Have a topic you'd like to talk about?
Visit the wiki page, and add your session to the Schedule. It's just that easy.
Our objective is to provide a valuable and educational forum on which we can all collaborate to grow our community. We took care of most of the details so you an focus your energy on your contributions to the conference. PauseOnError is inexpensive because PauseOnError is a not-for-profit venture. The goal for each event is to cover our expenses and break even, and have some buffer for future events.
We would like to extend an early invitation to you to learn about the event, add your session to the schedule, and purchase tickets for you and your team.
To find out more about PauseOnError Cleveland - Sessions, Tickets, Hotel, and more, visit the
conference wiki page!
We will have a MBS Plugin session there about our plugin, features and how the plugin is created and changed development with FileMaker.
We just got notice about the release of Xojo 2015r4.
This is a minor release fixing over 100 issues in Xojo. The planed features for retina support and high resolution aware applications has been moved to 2016r1 as it is not yet finished. Especially for Windows it seems to be harder than expected. Nevertheless you can already use the image sets in your projects to include assets in several resolutions. Be aware that those may be lost or not editable in older versions of the IDE.
Xojo 2015r4 is primarily a bug fix release. Some notable improvements include:
- Added CGFloat data type to make it easier to create Declares to iOS and OS X Cocoa frameworks.
- The Code Editor is now noticeably faster when working with large projects.
- You can use the TextAlign property to more easily set the alignment for web text controls.
- Added SecureAuth property to MySQLDatabase to allow connections to pre-4.1.1 authentication protocols.
You can download on the
xojo website.
We do have quite a few
printing classes in our
MBS Xojo Win plugin for Windows. You can query installed printers, learn about page formats and print jobs, show page setup and print dialogs, modify the device mode and create print jobs.
As we can enumerate printers, we can show them in a popupmenu. User can select one and we modify the printer setup string for a Xojo printerSetup object and than use normal Xojo printing functions to print:
// now we have nice setupstring
dim ss as string = ps.SetupString
'MsgBox str(len(ss))
// parse it in device mode, to retain settings there
dim d as WindowsDeviceModeMBS = WindowsDeviceModeMBS.FromSetupString(ss)
if d = nil then
// or start with a blank one
d = new WindowsDeviceModeMBS
end if
// change printer
if PopupPrinter.ListIndex >= 0 then
dim w as WindowsPrinterInfoMBS = PopupPrinter.RowTag(PopupPrinter.ListIndex)
// set device name
d.DeviceName = w.PrinterName
else
MsgBox "No printer selected."
Return
end if
// enable duplex
'd.Fields = BitwiseOr(d.Fields, d.DM_DUPLEX)
'd.Duplex = d.DMDUP_HORIZONTAL
// get back as setup string
dim da as string = d.SetupString
if da = "" then
MsgBox "failed to create setup string"
Return
end if
// assign back
ps.SetupString = da
// and print something
dim g as Graphics = OpenPrinter(ps)
g.DrawString "Page on "+d.DeviceName, 50, 50
PS: Works in Real Studio, too.
We are adding LDAP support for FileMaker with a few functions to query, add, modify and delete values.
To connect, you call the LDAP.Connect function and pass server IP/domain, SSL and maybe port setting. Next you call LDAP.Bind or LDAP.SimpleBind to pass your authentication data.
Once you are connected correctly, you can call the others functions. In our example we simply call the LDAP.Search function passing a query. For example we can search with Scope=Subtree through all nodes and find entries which have a given name: "(givenName=*)". This finds all people with a name.
Next we walk over all the entries found to list all the attributes and show values.
At this point you can of course redirect keys like FirstName to a matching field and import contact information.
Here our example script which does query values and show them in our example database as records:
Delete All Records [No dialog]
#Connect
Set Variable [$r; Value:MBS("LDAP.Connect"; LDAP Query::Server; LDAP Query::SSL; LDAP Query::Port)]
If [MBS("IsError")]
Show Custom Dialog ["LDAP error"; "Failed to connect." & ¶ & $r]
Exit Script []
Else
Set Variable [$ldap; Value:$r]
#Login
Set Variable [$r; Value:MBS("LDAP.Bind"; $ldap; LDAP Query::UserName; LDAP Query::Password; LDAP Query::AuthMethod)]
If [MBS("IsError")]
Show Custom Dialog ["LDAP error"; "Failed to authenticate." & ¶ & $r]
Else
#Search
Set Variable [$r; Value:MBS("LDAP.Search"; $ldap; LDAP Query::Base; LDAP Query::Scope; LDAP Query::Filter; ""; 0; 20; 999)]
#Check results
Set Variable [$EntryCount; Value:MBS("LDAP.SearchResult.Count"; $ldap)]
#Walk over all entries
Set Field [LDAP Query::Entry Count; $EntryCount]
If [$EntryCount > 0]
Set Variable [$EntryIndex; Value:0]
Loop
Set Variable [$EntryName; Value:MBS("LDAP.SearchResult.DistinguishedName"; $ldap; $EntryIndex)]
#Walk over all attributes
Set Variable [$AttributeCount; Value:MBS("LDAP.SearchResult.AttributeCount"; $ldap; $EntryIndex)]
If [$AttributeCount]
Set Variable [$AttributeIndex; Value:0]
Loop
#Check attribute name and value:
Set Variable [$AttributeName; Value:MBS("LDAP.SearchResult.AttributeName"; $ldap; $EntryIndex; $AttributeIndex)]
Set Variable [$AttributeValues; Value:MBS("LDAP.SearchResult.AttributeValues"; $ldap; $EntryIndex; $AttributeIndex; 1)]
#Store in a record:
New Record/Request
Set Field [LDAP Query::Entry; $EntryName]
Set Field [LDAP Query::Attribute; $AttributeName]
Set Field [LDAP Query::Values; $AttributeValues]
Commit Records/Requests [No dialog]
#next attribute
Set Variable [$AttributeIndex; Value:$AttributeIndex + 1]
Exit Loop If [$AttributeIndex = $AttributeCount]
End Loop
End If
#next entry
Set Variable [$EntryIndex; Value:$EntryIndex + 1]
Exit Loop If [$EntryIndex = $EntryCount]
End Loop
End If
End If
#Cleanup
Set Variable [$r; Value:MBS("LDAP.Release"; $ldap)]
End If
Please try in the next days with updated 5.5pr3 plugin. We may add more functions over time if developers ask for them, e.g. to import data like pictures from LDAP server.
Today I want to introduce you to SetThreadNameMBS, a newer function you can use in our MBS Xojo and Real Studio Plugins (15.5pr2).
Our plugin calls the SetThreadName function already for all the preemptive threads like for CURL or SQL. In a crash report you see the thread name and you can identify what the thread does. For example we create a project in Xojo and run there two threads. We name the main thread, the first and second test thread. Now we let one thread crash with a NULL pointer easily. In the crash report we can now see which thread is doing what by seeing our names:
Thread 0:: This is my Main Thread Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x96d9c9ce mach_msg_trap + 10
1 libsystem_kernel.dylib 0x96d9ba70 mach_msg + 68
2 com.apple.CoreServices.CarbonCore 0x9a9d7f6a YieldToThread + 429
3 rbframework.dylib 0x001f6791 0x1d4000 + 141201
4 rbframework.dylib 0x001f7388 threadRun + 392
...
Thread 10:
0 libsystem_kernel.dylib 0x96da2e6a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x9963372a _pthread_wqthread + 939
2 libsystem_pthread.dylib 0x99630e0e start_wqthread + 30
Thread 11:: TestThread
0 libsystem_kernel.dylib 0x96d9c9ce mach_msg_trap + 10
1 libsystem_kernel.dylib 0x96d9ba70 mach_msg + 68
2 com.apple.CoreServices.CarbonCore 0x9a9d7f6a YieldToThread + 429
3 rbframework.dylib 0x001f6791 0x1d4000 + 141201
4 rbframework.dylib 0x00277684 0x1d4000 + 669316
5 rbframework.dylib 0x0027135f RuntimeBackgroundTask + 47
6 0x00170c14 MainWindow.MainWindow.Thread1_Run%%oo + 96
7 0x001739ff Delegate.IM_Invoke%%o + 110
8 0x00173a40 AddHandler.Stub.0%% + 51
9 rbframework.dylib 0x001f7450 0x1d4000 + 144464
10 com.apple.CoreServices.CarbonCore 0x9a9d7b88 CooperativeThread + 305
11 libsystem_pthread.dylib 0x99633c25 _pthread_body + 138
12 libsystem_pthread.dylib 0x99633b9b _pthread_start + 162
13 libsystem_pthread.dylib 0x99630e32 thread_start + 34
Thread 12 Crashed:: CrashingTestThread
0 0x00170d11 MainWindow.MainWindow.Thread2_Run%%oo + 117
1 0x001739ff Delegate.IM_Invoke%%o + 110
2 0x00173a40 AddHandler.Stub.0%% + 51
3 rbframework.dylib 0x001f7450 0x1d4000 + 144464
4 com.apple.CoreServices.CarbonCore 0x9a9d7b88 CooperativeThread + 305
5 libsystem_pthread.dylib 0x99633c25 _pthread_body + 138
6 libsystem_pthread.dylib 0x99633b9b _pthread_start + 162
7 libsystem_pthread.dylib 0x99630e32 thread_start + 34
The thread with number 10 is created by OS X and has no name. Out threads with indexes 0, 11 and 12 have names.
This does help debugging, because we often have several things running and just one instance crashes. The thread name allows us to pass a text value to the crash report. This can be the ID of a transaction, the name of the PDF we process or the file we upload. We may have ten threads with same code run in different instances, but the thread name in the crash report may give us the clue we need to find the problem.
Should work fine on OS X, Windows and Linux. Please try it.
Recently reinstalled a virtual machine with FileMaker versions to test:
Good news is that those all work on Windows 10 and allows me to check if my plugin works.
Especially if you have a problem with an older version, I can try myself here. Although I know that over 90% of my plugin users do use FileMaker 13 or 14, so bug reports for versions before 11 are rare.
But by using special code which is not in the official FileMaker SDK, I can keep my plugin load in older versions and still use newer SDK features if available.
PS: Still waiting for first bug report for FileMaker 15...
Sometimes you may have a reason to figure our the IP for a domain name or vice versa the name for an IP. Lookup up the name for an IP often helps to identify the IP address because the hostname you get may include the domain of the provider or company.
To do a lookup, you can use the two functions
DNSLookup.LookupHostByAddress or
DNSLookup.LookupHostByName. First one takes the IP, second the domain name. Both start a lookup and give back a reference number. Why? Because we get back a domain name, several IPs and several alias addresses.
So you can query the name of the record you got via
DNSLookup.Name, the addresses with
DNSLookup.AddressCount and
DNSLookup.Address, the alias names with
DNSLookup.AliasCount and
DNSLookup.Alias and later release the whole data set with
DNSLookup.Release function. For example lookup up apple.com from my office gives three IPs: 17.172.224.47, 17.142.160.59 and 17.178.96.59. But looking up www.apple.com gives just one 104.87.225.193. The record name is e6858.dscc.akamaiedge.net so Apple actually uses Akamai here for content distribution. The IP also has aliases listed as www.apple.com, www.apple.com.edgekey.net and www.apple.com.edgekey.net.globalredir.akadns.net.
We hope you find those IP lookup functions helpful and use them someday.
As you may know there is an open source project called
TextInputCanvas.
Recently I did a 64-bit port for a client.
You can load a copy on my
plugin download page.
Updated source code is available for Xojo Inc. to update the official plugin soon. My plugin is build with my plugin build system, so it has MBS in the name and includes libraries for Mac, Windows and Linux including ARM, so you can use it in all projects. If you find a bug related to my 64-bit port, please tell me.
New in this prerelease of the 15.5 plugins:
- Added SetThreadNameMBS method.
- Fixed problem in pr1 with Registration for Windows.
- Updated SetApplicationDockTileImageMBS, RestoreApplicationDockTileImageMBS and OverlayApplicationDockTileImageMBS methods in Application class to work in 64-bit.
Download:
macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.
The Xojo developers in Atlanta area meeting next monday:
Hello Xojo enthusiasts!
Please join us for this Xojo monthly meeting! We promise that you'll learn something new at each meeting!
Who: Everyone interested in developing in Xojo!
What: Monthly Meeting
Where: Las Palmas Mexian Restaurant, 2210 Holly Springs Pkwy, Holly Springs, GA :: 770-720-0062
When: Monday, December 14th, 2015 - 6pm to 9pm
Topic:
What a huge year for Xojo and Xojo developers. At this meeting we'll look back at the news highlights of the previous year. We'll also be looking into our crystal ball to speculate on what will occur in 2016.
We've got the latest Xojo news, reviews and announcements.
I hope to see you there!
Have a great time! (MBS will not be present)
New in this prerelease of the 5.5 plugins:
- Changed calculation formatting to not format very long texts. New limit is 5000 characters.
- Added new function DynaPDF.ExtractText to extract text of whole document.
- Changed a lot of .Release functions to accept a list of reference numbers, e.g. PDFKit.Release
- For PDFKit.Combine and PDFKit.CombineRef the PDFs parameters can also be lists of paths or reference numbers.
- Updated openssl to 1.0.2e.
- Added FM.UpdateRecord and FM.InsertOrUpdateRecord functions.
- Improved error message when loading a library file fails.
- Updated DynaPDF to version 3.0.46.137.
- Added more path functions.
- Added Content option for DynaPDF.GetEmbeddedFile function.
- Added more FSEvents functions.
- Fixed FM.RunDataDesignReport to work better if save dialog is slow to list files.
- Added DNSLookup functions.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
New in this prerelease of the 15.5 plugins:
- Added CGColorSpace additions for OS X 10.11.2
- Updated our CoreImage Filters to OS X 10.11 El Capitan.
- Added more CoreImage classes and functions. e.g. for QRCode recognition.
- Fixed an issue with DynaPDF tables and haveMore returning true in where it should have returned false.
- Updated openssl to 1.0.2e.
- Fixed constructors taking handle for NSMenuItemMBS and NSMenuMBS to work.
- Fixed CallMethodLaterMBS time parameter. Now more precise.
- Added NSAppleEventDescriptorMBS.descriptorWithCurrentProcessSerialNumber and NSAppleScriptMBS.executeSubroutine.
- Updated DynaPDF to version 3.0.46.137.
- Added more FSEvents functions.
- Improved LDAPMBS constructors to work cross platform in both flavors.
- Changed CURLEmailMBS class to check whether you called Constructor when subclassing.
- Added SQLDatabaseMBS.ConnectMT method.
- Fixed a problem with escaping names in emails.
Download:
macsw.de/plugin/Prerelease . Or ask us to be added to our shared Dropbox folder.
Today we had the need to write a script to update or install MBS FileMaker Plugin. Often developers put plugin files in containers in a special MBS table in their solution on a server. Now if client opens database, the plugin may need to be installed or updated on the client. So we check a few cases here and made sure script runs well if plugin is not installed.
Check If Update is Needed:
# Check what plugin version we have here in the database:
Go to Layout [ “Install Plugin Update if needed” ]
Go to Record/Request/Page [ First ]
Set Variable [ $DatabaseVersion ; Value: GetAsNumber(Install Plugin Update if needed::Version Number) ]
Set Variable [ $InstalledVersion ; Value: GetAsNumber(MBS("VersionAutoUpdate")) ]
Set Variable [ $InstalledVersionText ; Value: GetAsText(MBS("Version")) ]
If [ GetAsNumber($InstalledVersion) = "?" ]
# not installed
Show Custom Dialog [ "MBS Plugin is not installed. Can we install version " & Install Plugin Update if needed::Version D…" ]
If [ Get ( LastMessageChoice ) = 1 ]
Perform Script [ “Install MBS Plugin” ]
End If
Else If [ $InstalledVersion = $DatabaseVersion ]
# current version
Show Custom Dialog [ "Already up to date" ]
Else If [ $InstalledVersion > $DatabaseVersion ]
# newer version
Show Custom Dialog [ "Already up to date. Installed version " & $InstalledVersionText & " is newer than version " & Inst…" ]
Else
# found update
Show Custom Dialog [ "Newer Version " & Install Plugin Update if needed::Version Display & " is available. Install now?"… ]
If [ Get ( LastMessageChoice ) = 1 ]
Perform Script [ “Install MBS Plugin” ]
End If
End If
# go to fields to update them
Go to Field [ Install Plugin Update if needed::MBS Installed ]
Go to Field [ Install Plugin Update if needed::MBS Installed Version ]
Go to Field [ Install Plugin Update if needed::MBS Installed Version Number ]
Commit Records/Requests [ Skip data entry validation ; No dialog ]
Skript: Install MBS Plugin
# Check Architecture
# will be ? for older 32-bit FileMaker Pro
Set Variable [ $Arch ; Value: GetAsText( Get (ApplicationArchitecture)) ]
# Check Platform
Set Variable [ $Plat ; Value: Get ( SystemPlatform ) ]
If [ $Plat = 1 ]
# Mac
Install Plug-In File [ Install Plugin Update if needed::Plugin File Mac ]
Else If [ $Plat = 3 ]
# iOS
Exit Script []
Else If [ $Plat = -2 ]
# Win
If [ $Arch = "x86_64" ]
# Win 64-bit
Install Plug-In File [ Install Plugin Update if needed::Plugin File Win 64bit ]
Else
# Win 32-bit
Install Plug-In File [ Install Plugin Update if needed::Plugin File Win 32bit ]
End If
Else
# something new or old?
Exit Script []
End If
Set Variable [ $LastError ; Value: Get(LastError) ]
If [ $LastError = 0 ]
If [ MBS("VersionAutoUpdate") = Install Plugin Update if needed::Version Number ]
Show Custom Dialog [ "Success" ; "Installed MBS Plugin: " & MBS("Version") ]
Else
Show Custom Dialog [ "Success" ; "Installed MBS Plugin: " & Install Plugin Update if needed::Version Display & ¶ & "Please restart …" ]
End If
Else
Show Custom Dialog [ "Failed" ; "Failed to install plugin due to error " & $LastError ]
End If
What do you think? Something missing? The script will be in an example database with next plugin beta version (or email us).
The year 2015 will end in around three weeks. Do you need some more licenses?
- You can order licenses for 2016 or later and have delivery plus payment done in 2015.
- And of course you can order updates for several years in advance for all your MBS products.
- As all licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
- If you need a Xojo license (new or update), we can always check whether a bundle of Xojo offers an advantage for you.
- For FileMaker please check if you have enough license for the number of seats or servers you have in use.
Especially if you run on a budget and you want to spend some money in 2015, you can buy updates for several years in advance.
Early registration for the 2016 Xojo Developer Conference is now open!
XDC will take place in Houston, TX October 5-7, 2016. It features sessions on best practices, special interests and other technical topics, with content for every level of Xojo developer. Educational sessions will cover topics like Xojo iOS, Raspberry Pi, database design, user interface design, debugging techniques, writing secure apps, and much more! Want to know what XDC is like? Watch our highlights
video!
Register now!
XDC Pricing:
Early Bird Registration
Now through March 21, 2016: $799
Advanced Registration:
March 22 - August 22, 2016: $899
Late Registration:
August 23 - Conference: $999
XDC will take place at the lovely boutique Hotel Derek in the Galleria area of Houston. It's right in the middle of two airports, giving you plenty of options (and time) to find a great flight! We have negotiated a hotel room rate of $164 a night. Rooms can be reserved
here.
If you have any questions about XDC, feel free to email or PM me on the forum.
More information, including the call for speakers, will be coming after the new year.
Eight years ago we started created tutorial videos and today our
video page has birthday. Enjoy a video and learn about our plugins.
Over the years we collected more than 60 videos. We hope you enjoy them!
We know we could make more videos. So what wishes do you have?
Please email us or post a comment here.