As you may know, you can use SSH command line to start a tunnel from your computer through the SSH connection to a server on the other side. For one app, we use the following tunnel for MySQL:
e.g.
/usr/bin/ssh -L localhost:3307:localhost:3306 -N xxxx@1.2.3.4
We my not do the same in Xojo, but we can tunnel ourselves a connection with the new
SSH2SessionMBS.OpenDirectTCPIPChannel function in the upcoming 18.3 plugins. This function opens a tunnel, so you can send data. Your data first goes through SSH connection and than through a TCP/IP connection to the server on the other side. Here is an example:
//* Open tunnel */
dim channel as SSH2ChannelMBS = session.OpenDirectTCPIPChannel("monkeybreadsoftware.de", 80)
if channel = nil then
print "Unable to open a channel"
Return 4
end if
// don't block
channel.SetBlocking false
app.DoEvents 10
// send http request through server to mbs website
dim request as string
request = "GET /cgi-bin/ip.cgi HTTP/1.1"+_
EndOfLine.windows+_
"Host: monkeybreadsoftware.de"+_
EndOfLine.windows+_
EndOfLine.windows
app.DoEvents 10
call channel.Write request
// now see if we get the IP of server returned
do
app.DoEvents 10
dim s as string = channel.Read(10000)
if channel.LastError = session.kErrorEagain then
// no answer yet
Continue
elseif s <> "" then
// got answer
print s
else
// no more data
exit
end if
loop
channel.Close
channel = nil
If you'd use a local server socket to listen for incoming connections, you could have your socket feed data through the tunnel and do the same as the command line. But please be aware that we will use the command line tool in future as it's much easier than coding it all ourselves and without any threading trouble.
If you like to test, you can contact us for a preview of the new Network plugin.
Yesterday I was asked what is Xojo and why should you use it. So if you don't know what Xojo is or why you should use it, maybe here a few points:
- Xojo is easy to learn, especially much easier than C++ or Java.
- Xojo comes with a learning curriculum, several manuals and webinars to watch.
- Xojo comes with a cross platform GUI framework, so no need to learn Cocoa, Win32 and GTK+ and no need to license QT or similar frameworks for C++.
- Xojo Apps are free to distribute, as you only pay license fee once for your Xojo license.
- Xojo comes with a graphical interface designer, so anyone can layout a window or webpage.
- Xojo builds desktop apps for Mac, Windows and Linux from one project.
- Xojo builds web apps to run on web servers and they offer cloud hosting.
- Xojo can build apps to run on Raspberry Pi and other cheap computers.
- Xojo can build mobile apps for iOS and soon Android.
- Xojo comes with a debugger, which allows to inspect variables, step through code and monitor multiple threads.
- Xojo can share code between projects, so you can use same classes in web, desktop and mobile projects.
- Xojo comes with a community of friendly developers which help newbies.
- Xojo provides localized resources in English, German, French, Spanish, Italian, Portugueses, Chinese and Japanese.
- Xojo can connect to various databases.
Choose between six built in database interfaces or 14 ones via MBS SQL Plugin.
- Xojo runs a big conference in USA every year and we run a European conference in Germany.
- Xojo is a company, where you can actually meat engineers and CEO and discuss Xojo topics in person.
Every Developer has to decide which tools to put in his toolbox and use in various projects. And Xojo is an excellent tool as it can build so many different things in short time. Try it today!
SQLite just turned 18 years old.
The first check-in of SQLite code occurred 18 years ago.
see
sqlite.org/src/timeline?c=2000-05-29
Version 1 just had a few commands. Open database, close database, execute a statement. Code for recordsets didn't exist at that time and came later.
Congratulations to Richard Hipp and his team!
Have you seen them all?
Here the title pictures of all the videos:
All XDC sessions are available for attendees of the conference for free on the Xojo website.
Or for purchase of the video pack for just $399 USD in the
Xojo Store.
Free videos:
"Superhero SQLite" XDC 2018 Session | Paul Lefebvre and
XDC 2018 Recap
Today we got CubeSQL support added to
MBS Xojo SQL Plugin with a new internal cubeSQL client library.
So you can use our
InternalCubeSQLLibraryMBS module to activate it with the Use command. This works the same way as our
InternalSQLiteLibraryMBS module for SQLite and
InternalPostgreSQLLibraryMBS for PostgreSQL. Once called, you don't need the cubesql dll file anymore, but use the one built into the plugin.
As usual you can use CubeSQL with our own
SQLConnectionMBS interface or with
SQLDatabaseMBS interface with the Xojo database interface.
// use internal CubeSQL library
call InternalCubeSQLLibraryMBS.Use
dim db as new SQLDatabaseMBS
db.Option("APPNAME") = "Xojo Test"
db.Option("ConnectionTimeout") = "5" // 5 seconds timeout?
db.Option("ConnectionEncryption") = "AES128" // or "AES192" or "AES256"
db.DatabaseName = "cubesql:localhost@mydatabase.sqlite"
db.UserName = "admin"
db.Password = "admin"
if db.Connect then
dim r as RecordSet = db.SQLSelect("select sqlite_version()")
if r = nil or r.eof then
MsgBox "Failed to query version."
else
MsgBox "Version: "+r.IdxField(1).StringValue
end if
end if
Betatesters are welcome and we include that in version 18.3 of our
MBS Xojo SQL Plugin.
Did you know you can make Gradients with GraphicsMagick?
You can simply load an image with given size from a string specification with gradient as codec. It takes as parameters two color specifications, either as names or numeric values. With hex notation you can use #ffff00 for yellow as example.
e.g. "gradient:white-black" creates a gradient from white to black. Or "gradient:#20a0ff-#ffff00;" creates the gradients on the right with color effect from blue to yellow.
For
FileMaker:
Set Variable [ $image ; Value: MBS( "GMImage.New"; "200x200"; "white" ) ]
Set Variable [ $r ; Value: MBS( "GMImage.Read"; $image; "gradient:#20a0ff-#ffff00;" ) ]
Set Field [ Contacts::Photo Container ; MBS( "GMImage.WriteToPNGContainer"; $image; "gradient.png") ]
Set Variable [ $r ; Value: MBS( "GMImage.Destroy"; $image) ]
For
Xojo:
dim g
as new GMGeometryMBS(
200,
200)
dim i
as new GMImageMBS(g,
new GMColorMBS(&c
FFFFFF))
i.read
"gradient:#20a0ff-#ffff00;"
Backdrop = i.CopyPicture
Both snippets create a picture like the one on the right side.
The new
GMImage.Read function is coming soon in next MBS FileMaker Plugin 8.3.
In preparation for the
Privacy and Electronic Communications Directive here in Europe, we made a few more adjustments already to comply better with regulation:
- If you as client request to see our data about yourself, we can send you an email with records about you in customer database.
- If you like to get an export all emails related to you from our email application for a client, we would export them in Apple Mail as PDF.
- We got contracts for data handling with domainfactory (website hosted), Olark (website chat) and a few others.
- We got our records of processing activities done.
- Created an encrypted database to log emails we send, so we can tell people what emails we sent them.
- Our privacy officer is me, Christian Schmitz.
- The Olark chat is now only loading, when you click on it, so they can't track you if you don't use the chat.
So if everything works, those changes may benefit you. See also older posting about
Privacy enhancements.
Anything we may have missed so far?
Today we got a new function for you to add OAuth authentication to your requests:
CURL.SetupOAuth for FileMaker and
CURLSMBS.SetupOAuth for Xojo.
You call that method and pass in keys, secrets, parameters and we build the URL, authorization and set headers. You can pass in optionally headers, data entries, nonce and timestamp.
We use it for a project with magenta API using OAuth for the authorization for queries against the database from a FileMaker database. But you can use the same code for Twitter if needed.
Coming soon for next plugin versions.
Today we upgraded our file dialog functions for Windows:
We now use
IFileOpenDialog/
IFileSaveDialog classes when available and only fall back to
GetOpenFilename and
GetSaveFilename for Windows XP.
So if you use
OpenDialogMBS class in our Xojo Plugins or
FileDialog.OpenFileDialog,
FileDialog.SaveFileDialog or
FileDialog.SelectFolderDialog in our FileMaker plugin, you may notice some improved dialogs the next time you update the plugins.
Coming soon for MBS Plugins.
As you may know, we use a live chat on the website powered by
olark.com.
On the bottom of each website, you see a chat button, which may open a chat window. This is very convenient, if you like to quickly ask a question to me about a function, an order or the next conference.
But there is a downside. The guys from Clark see all your browsing on our website and every time you load a page, they ping the olark server to add the chat button.
Starting today this changes. All MBS websites first show a chat button, with a more blue bubble (to see the difference) and only if you click on it, we start the chat system. If you have been in a chat before and you load a new page on the same domain, we start the chat automatically, so it can continue. In the next days, we will certainly fine tune this and try to optimize the chat to properly load everywhere. If you see a white bubble without being a chat, let me know.
Nickenich, Germany (May 22nd, 2018) -- Monkeybread Software releases version 18.2 of the MBS plug-in for Xojo.
The MBS plug-in comprises a collection of several plug-in parts which extend the Xojo (Real Studio) development environment with 2,300 classes featuring over 60,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console including 64-bit and ARM targets. Some of the highlights on the 18.2 update:
This year we work on a
Bluetooth plugin and in this release we start with 16 new classes for the CoreBluetooth.framework from Apple to connect to Bluetooth LE devices on your Mac.
For MacOS, our
CanvasGesturesMBS class allows you to generically capture gestures on a canvas. This includes swipe, rotate and magnify gestures and now allows you to use standard Canvas to catch them instead of using a
NSViewControlMBS control.
You can now query media libraries using our new
MediaLibrary classes. This is 64-bit only, but allows e.g. to query playlists in iTunes.
For CURL, we added over 50 new properties and functions to query information. Our new
CURLSSSLBackendMBS class allows to query what backends are available. The new AddMimePart and FinishMime methods and
CURLSMimePartMBS class allows better MIME uploading handling. For the properties in
CURLSMBS, we optimized storage and got memory usage reduced.
The new
CWWiFiClientMBS class allows you to listen for Wifi related events. e.g. you can get notifications for new Wifi networks found.
For Windows, you can now enable spell checking for Xojo's textarea controls. The new
WindowsGUIResourcesMBS class allows to query handle usage for GUI classes to detect running out of handles. With
RemoteControlMBS.WinBringProcessToTop method you can bring a whole process to the front.
We got a new
JSONMBS.ToHTML function to show JSON to user in a HTMLViewer, printing related functions for
WebFrameViewMBS and printing related events for
WebUIDelegateMBS class.
The
NSURLConnectionFilterMBS class allows you on MacOS to filter connections for NSURLConnection queries. This allows you to set timeout for Xojo.Net.HTTPSocket requests.
Finally we updated CURL to version 7.60.0, DynaPDF to version 4.0.19.50, SQLite to version 3.23.1, SQLAPI to 4.2.2 and use the Xojo 2018r1 plugin SDK.
See
release notes for a complete list of changes.
Xojo Inc. released Xojo in version 2018r1.1 today.
This is a bugfix release with 19 bug fixes.
You can read the details here:
Xojo 2018r1.1 Release notes
We recommend you to install the update soon. It fixes the breakpoint problem in 32-bit applications as well as a few other debugger issues we saw. Also fixed are crashes related to undo
You can download the update here:
Xojo Download
And now we look forward what comes for 2018r2.
We hope to learn about the Xojo 2018r2 release and a lookout for version 2018r3 in the Xojo keynote at the
MBS Xojo Conference.
New in this prerelease of the 18.2 plugins:
- Fixed crash with zxingQRCodeReaderMBS with out of bounds access in image for bad QRCodes.
- Changed zxingQRCodeReaderMBS to report the version number read when complaining about invalid version in QRCode.
- Fixed OpenDialogMBS for Cocoa target to handle better file extensions when several are separated by semicolon.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
Just about two weeks left for early bird tickets for our
European MBS Xojo Conference 2018 in Munich. If you like to join, please sign up soon.
Already developers from nine countries are signed up including Xojo CEO Geoff Perlman and Xojo Evangelist Paul Lefebvre. The schedule is mostly done with only a few sessions still pending. Reserve your ticket and reserve your hotel room as soon as possible.
Our Hotel room contingent expires later this month, so please make sure you have a room booked.
The schedule:
Sep 4th | Day | optional sight seeing tour |
Sep 4th | Evening | optional get-together with everyone arriving early |
Sep 5th | Day | optional Xojo training (English) |
Sep 5th | Evening | optional get-together with everyone arriving early |
Sep 6th | 9:00 to 18:00 | First day of conference with keynotes |
| Evening | Dinner event in Augustiner Keller |
Sep 7th | 9:00 to 18:00 | Second day of conference with more sessions |
| Evening | Optional dinner together |
We all look forward to presentations about Android, the new Web Framework other news in the Xojo keynote.
Registration is open. The late bird offer available till 7th June is just 599 Euro plus VAT if needed. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Maritim Hotel as well as an accompanying social program.
Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible.
New in this prerelease of the 18.2 plugins:
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
On my next visit to Zurich, I'd love to make another Xojo developer meeting:
Wer hat Interesse an einem Xojo Entwicklertreffen am 10. oder 11. Juni in Zürich?
Einfach gemütlich zusammen sitzen und über Xojo schnacken.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit Xojo Projekten. Einfach Computer mitbringen und was zeigen.
Bei Interesse bitte eintragen für Terminfindung:
Umfrage
Wer Interesse hat an einem Termin mit mir für Softwareentwicklung, Schulungen, Entwicklungshilfe, Plugin Empfehlungen, assistierte Fehlersuche, Code-Review und IT-Beratung, der darf sich gerne melden für eine baldige Terminfindung.
Do you know
BBEdit?
It's still after many years it is my favorite text editor on MacOS.
I've been using it since version 6.x around year 2000, first the Light version and than full version later.
You can use BBEdit to edit any text file, convert between different line endings and text encodings.
I love it for searching and replacing texts in multiple files using regular expression and edit all my html, php and javascript files in it.
As BBEdit can be downloaded and tested for free, please give it a try today.
Thanks Bare Bones Software, Inc. for making it.
FileMaker 17 introduces a new function Get(UUIDNumber). It allows you to query the numeric representation of an UUID.
e.g.
145234071807015280356493410184603392874
6D431095-AC81-4E79-8C4F-A14AAAE85B6A
Both refer to the same UUID and you can calculate the numeric value yourself by decoding hex parts and multiplying. Those UUID values allow you to use UUIDs as primary keys on the database. Sorting and indexing can be more efficient.
Sadly FileMaker 17 does not introduce the UUID data type to store UUIDs efficient as 16 byte in binary representation instead of 40 characters of text for the number or 36 characters for hex representation. That would save space.
So please start using UUID numbers, which avoid people guessing your record IDs by counting up or down.
If you need those for FileMaker 16 or older, you can use our new plugin function
UUID.Number. It returns you an UUID as number, same as with FileMaker 17.
We also got
UUID.FromNumber and
UUID.ToNumber functions to convert between hexadecimal and numeric representation.
For next
MBS Xojo Win Plugin, we add a new
WindowsGUIResourcesMBS class:
This class allows you to query the number of handles used for GUI and user objects. So you can have a timer monitor those values and maybe detect a leak in memory usage. For example, each picture needs a GUI handle. But a window may contain a few user object and GUI handles.
Coming soon for version 18.2 of our Xojo plugins.
Watch the
XDC 2018 highlights video now:
The next conference is just 4 months away:
MBS Xojo Conference, 6th/7th Sep 2018 in Munich.
Wer hat Interesse an einem MBS Xojo Entwicklertreffen am 14. Juni in München?
Einfach gemütlich zusammen sitzen in einem Restaurant oder Biergarten und über Xojo reden.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit Xojo Projekten. Einfach Computer mitbringen und was zeigen.
Bei Interesse bitte bald bei mir melden.
Für die
Xojo Konferenz im September sind noch Plätze frei.
You may know that you can sign a PDF with DynaPDF cross platform in Xojo (and FileMaker) with a certificate file, usually a PKCS#12 file.
But for Windows, our Xojo plugin offers an alternative way by using the local certificate storage. So your user can have the private key with certificate installed on the Windows machine and sign without knowing the password for the certificate!
On the right, you see the dialog from Windows to pick a certificate in German.
If you have no certificate, you get an error message. If you have one, you can confirm to use it and if you have several certificates, you can pick one. The dialog is localized for the user.
PS: If needed, we could add that quite soon for FileMaker, too.
New in this prerelease of the 18.2 plugins:
- Implemented InvertMBS for alpha channel pictures.
- Changed CURLSMBS to use less memory for storing properties.
- Changed CollectOutputData, CollectHeaderData and CollectDebugData for CURLSMBS/CURLMBS/CURLNMBS to track if you set property and if you set to false, we ignore the data and do neither return error nor collect data. If never set, we may turn them to true, when you have no event and no file streaming.
- Reduced memory footprint of CURLSMBS.FormAddField method.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
Nothing to do on a Sunday evening?
You can watch the Superhero SQLite session video from XDC 2018 and learn all about SQLite from Paul Lefebvre.
"Superhero SQLite" XDC 2018 Session | Paul Lefebvre and
XDC 2018 Recap
All XDC sessions are available for attendees of the conference for free on the Xojo website.
Or for purchase of the video pack for just $399 USD in the
Xojo Store.
Today we got some code to detect whether a DLL is 32-bit or 64-bit. That can be useful if your app requires the user to install a custom DLL, e.g. mysql DLL for use with our
MBS Xojo SQL Plugin.
Technically you need to read the DOS header from the DLL/EXE file, check where the PE header starts and lookup the field for CPU architecture. If something is not supported, we ignore it, like a wrong position value and if the MZ or PE texts are not there. As you see, we can easily do that with binary stream class in Xojo and Microsoft defines a lot of constants for the various possible architectures.
If you find a DLL from a Windows RT copy, please let me know if it detects ARM as target. Thanks.
(more)
You have several Xojo and Real Studio versions in use?
You want to know in advance what Xojo version a project was saved with?
Please try our plug-in for QuickLook:
MBS-Xojo-QuickLook-Plugin.dmg
After installation of our plug-in to /Library/QuickLook and you run "qlmanage -r" in Terminal app or logged in the next time, your icons look like this:
This plug-in is freeware, so please share with friends and enjoy!
The May/June (16.3) issue of xDev Magazine is now available. Here's a quick preview of what's inside:
Farewell New Framework by Marc Zeedar
Big announcements were made at this year's Xojo Developers Conference in Denver, Colorado in late April. Find out all the details here!
A Roundabout Way to Denver by Marc Zeedar
As usual, Marc likes to do things the hard way. Instead of a quick flight to Denver and a stay in a comfy hotel, he decided to drive 1300 miles and sleep in his car. Er, what?!
Give Yourself to the Dark Side by Sam Rowlands
Apple has added "dark mode" support in recent OS updates, but using it in the best way can be tricky. Sam demonstrates how by creating a custom slider control.
A Predicate For Data, Part 2 by JC Cruz
This time Jose adds new features to his data predicate class.
Plus: Xojo 2018r1, refactoring, PITR, MailgunX, and more!
The XDC Videos are available.
You can get over 30 videos from the sessions for
download in your Xojo account, if you visited the conference. All others, can buy the video pack for just $399 USD in the
Xojo Store.
Here is the list of all tracks:
Day | Name | Length |
---|
1 | Android Update Presentation | 34:45 |
1 | Ask the Engineers | 36:38 |
1 | Keynote | 1:05:40 |
1 | New IDE Features | 37:48 |
1 | SQLite Presentation | 46:17 |
1 | Web Framework | 38:57 |
1 | Windows Presentation | 43:39 |
2 | Advanced Reporting In Xojo | 50:39 |
2 | Aloe Express | 59:53 |
2 | Database Driven Web Apps | 54:12 |
2 | Databases 101 | 44:55 |
2 | Factoring Project Testability | 51:47 |
2 | Lean On Me (the Compiler) | 45:58 |
2 | Leveraging LLVM | 42:53 |
2 | Practical Color Management | 48:06 |
2 | Rapid Database Application | 51:34 |
2 | Rest API | 54:18 |
2 | SELECT encrypted data | 52:02 |
2 | Use Monkeybread Plugins | 32:30 |
2 | Web Server For Mobile Apps | 43:16 |
3 | Anatomy Of An IOS App | 51:36 |
3 | Being Successful With An IOS App | 38:30 |
3 | Linux | 39:45 |
3 | Mastering The Dialog Box Part 2 | 50:09 |
3 | Mastering The Dialog Box | 39:14 |
3 | Moving Beyond Example Files | 40:24 |
3 | Policies Procedures & Processes | 51:21 |
3 | Project Management | 46:56 |
3 | Searching For Code | 54:37 |
3 | Tip Control SF | 59:15 |
3 | Using OPP | 52:02 |
In total over 24 hours of Xojo knowledge.
Sign up today for the next conferences:
PS: Today is the
XDC 2018 Recap webinar.
As you may know, we can query address book in our plugins. Now you can store your own IDs for users in the contacts database by using an extra URL.
The key today is that we use an URL in the addressbook and make it a FMP URL, so the user can actually click on the URL and go to the FileMaker database right away. When synchronizing the IDs between database, we can store our own ID this way. To search, we use Addressbook.searchElementForProperty function to search for our label in URLs property and compare to the ID.
To store the value, we use the following script:
Set Variable [ $PersonID ; Value: MBS( "Addressbook.Me") ]
Set Variable [ $myID ; Value: "FMP://~/Clients?script=ShowContact¶m=123456" ]
Set Variable [ $MyLabel ; Value: "FileMakerID" ]
#
# Query current URLs
Set Variable [ $r ; Value: MBS( "Addressbook.record.valueForProperty"; $PersonID; "URLsProperty" ) ]
Set Variable [ $Count ; Value: MBS( "Addressbook.multivalue.count" ) ]
Set Variable [ $index ; Value: 0 ]
Set Variable [ $foundIndex ; Value: -1 ]
Loop
Set Variable [ $label ; Value: MBS( "Addressbook.multivalue.labelAtIndex"; $index ) ]
If [ $label = $MyLabel ]
Set Variable [ $foundIndex ; Value: $index ]
Exit Loop If [ 1 ]
End If
# next
Set Variable [ $index ; Value: $index + 1 ]
Exit Loop If [ $index >= $count ]
End Loop
If [ $foundIndex >= 0 ]
# found, so update
Set Variable [ $r ; Value: MBS( "Addressbook.multivalue.replaceValueAtIndex"; $foundIndex; $myID ) ]
Else
# not found, so add
Set Variable [ $r ; Value: MBS( "Addressbook.multivalue.addValue"; $myID; $MyLabel ) ]
End If
Set Variable [ $r ; Value: MBS( "Addressbook.record.SetValueForProperty"; $PersonID; "URLsProperty"; "multi" ) ]
# save...
Set Variable [ $r ; Value: MBS( "Addressbook.save" ) ]
And to read back the value, we can use a script like this:
Set Variable [ $PersonID ; Value: MBS( "Addressbook.Me") ]
Set Variable [ $MyLabel ; Value: "FileMakerID" ]
#
# Query current URLs
Set Variable [ $r ; Value: MBS( "Addressbook.record.valueForProperty"; $PersonID; "URLsProperty" ) ]
Set Variable [ $MyID ; Value: MBS( "Addressbook.multivalue.valueForLabel"; $myLabel ) ]
Show Custom Dialog [ "MyID" ; $MyID ]
Let me know if you have questions. Same can of course be done with our Xojo plugins.
Monkeybread Software today is proud to announce Combine PDFs 5.3, an update to their popular PDF merge and split tool for Mac OS X. With a focus on ease-of-use, Combine PDFs is a lightweight utility which allows anyone to merge PDF files and images into a single PDF file. The user need only drag & drop files onto the program icon. The main window appears, allowing the user to set the order in which the files are joined.
Changes in Version 5.3:
- Added swedish translation.
- Can use app store license in shareware version.
- Added retina support and now a Cocoa application.
- Added preference option to enable copying of annotations.
- Requires MacOS 10.9 or newer.
- Upgraded to 64-bit.
- Fixed preview window setting, so it's saved and honored on next app start.
Combine PDFs Website
Requires MacOS 10.9 or newer for 64-bit. Older 32-bit version stays available and still works very well.
This application is made with
Xojo 2018r1.
Did you know that your Mac tracks URLs used with downloaded files?
In the metadata for a file, you find extra attributes for download URL and download date, which spotlight uses to track downloads. In Finder, you find the URL in the information dialog for the file.
In
Xojo, you can use
MDItemMBS class:
dim file as FolderItem = DownloadsFolderMBS(0).Child("test.html")
dim item as new MDItemMBS(file)
dim value as Variant = item.GetAttribute(MDItemMBS.kMDItemWhereFroms)
if value <> nil then
dim values() as Variant = value
dim Link as String = values(0)
MsgBox link
end if
In
FileMaker, our
MetaDataQuery.AttributesForFile would provide all the metadata as JSON and this includes the kMDItemWhereFroms entry:
Set Variable [ $path ; Value: "/Users/cs/Downloads/test.html" ]
Set Variable [ $json ; Value: MBS( "MetaDataQuery.AttributesForFile"; $path) ]
Set Variable [ $link ; Value: MBS("JSON.GetPathItem"; $json; "kMDItemWhereFroms¶0") ]
Show Custom Dialog [ "Link" ; $link ]
If you like to get rid of the attributes, you can use xattr -c followed with the path to the file.
Or in Xojo use
ExtendedAttributesMBS module to do it in code.
New in this prerelease of the 18.2 plugins:
- Updated DynaPDF to version 4.0.19.50.
- Added DynaPDFMBS.GetUsesTransparency, DynaPDFMBS.GetDocUsesTransparency and DynaPDFPageMBS.SetBBox.
- Added CWWiFiClientMBS class for MacOS to watch for Wifi changes.
- Fixed SQL problem introduced in pr4 where all recordsets where empty.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
Wer hat Interesse an einem MBS Xojo Entwicklertreffen am 13. oder 14. Juni in München?
Einfach gemütlich zusammen sitzen in einem Restaurant oder Biergarten und über Xojo reden.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit Xojo Projekten. Einfach Computer mitbringen und was zeigen.
Bei Interesse bitte eintragen in die Umfrage hier:
München Xojo Stammtisch
PS: Vorzugsweise bei Doodle anmelden vor dem Abstimmen, damit niemand ihre Stimme ändern kann. Danke.
Just four months left for our
European MBS Xojo Conference 2018 in Munich. If you like to join, please sign up soon.
Already over 35 attendees are registered from seven countries and the schedule is filling quickly. Reserve your ticket and reserve your hotel room as soon as possible.
Our Hotel room contingent expires later this month, so please make sure you have a room booked.
The schedule:
Sep 5th | Evening | optional get-together with everyone arriving early |
Sep 6th | 9:00 to 18:00 | First day of conference with keynotes |
| Evening | Dinner event in Augustiner Keller |
Sep 7th | 9:00 to 18:00 | Second day of conference with more sessions |
| Evening | Optional dinner together |
We all look forward to presentations about Android, the new Web Framework other news in the Xojo keynote.
Registration is open. The late bird offer available till 7th June is just 599 Euro plus VAT if needed. Attending the conference costs regularly 699 Euro plus VAT, including food and beverage in the Maritim Hotel as well as an accompanying social program.
Sessions are to be held in English. Our conference is conceived as a networking event for the Xojo community. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible.
Xojo is on sale and you can buy all new licenses and updates for 20% off this weekend. See
Xojo Store.
XDC 2018 videos arrived and are available for all attendees for free (included with ticket purchase).
If you didn't attend, you can buy them for $399 USD currently.
And finally if you like conferences, the
XDC 2019 tickets are currently available for $200 off ($799 instead of $999 USD).
For our
MBS Xojo Conference, you can sign up this weekend and save 200 Euro from the regular price with coupon code "Sale", so you pay 499 Euro instead of 699 Euro (+VAT if needed).
The sale at
Application Systems Heidelberg for spring is still running with 20% off with coupon code BHKMTLS18Q2 and works for Xojo, too.
New in this prerelease of the 18.2 plugins:
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.
PS: SQL Plugin broke for RecordSet class. Please keep pr4 for SQL Plugin.
You like to join our
MBS Xojo Conference in Munich?
You can do quite some sight seeing in Munich itself:
Don't forget to walk though the various parks and enjoy a stop in one of the beer gardens!
To get around, a day ticket for the subway may be useful.
For a day trip, you can visit the following places:
Depending on how many interested foreign visitors we have, we may organize a group tour to something, e.g. to go to Wendelstein, Palace Herrenchiemsee and back with a stop at a nice beer garden.
On my next visit to Berlin, we have another Xojo developer meeting:
Wer hat Interesse an einem Xojo Entwicklertreffen am 5. Juni in Berlin?
ca. 18 bis 21 Uhr.
Einfach gemütlich zusammen sitzen in einem Restaurant oder Biergarten und über Xojo schnacken.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit Xojo Projekten. Einfach Computer mitbringen und was zeigen.
Wer noch dabei sein möchte, bitte per Email melden.
Anmelden