Archive for the ‘Delphi’ Category
Posted by jpluimers on 2014/03/12
For my own link archive: CodeRage 8 replays – Embarcadero Technologies – YouTube.
Lots of nice sessions, including these REST sessions:
About the REST support in Delphi: make sure you take a look at the REST Debugger application, as you get full source code for it and is an excellent starting point to see how the REST components work together (it is written using the FireMonkey UI framework so it runs on a Mac as well as on Windows).
David I explains more about the REST Debugger here: Sip from the Firehose : Using the REST Debugger will help you prototype your Delphi and C++ REST apps.
Jim McKeeth has a really nice video about it as well on XE5 REST Debugger Supercharged | The Podcast at Delphi.org which describes how to use Delphi the Delphi REST tools to use KimonoLabs to scrape data from web sites:
kimono : Turn websites into structured APIs from your browser in seconds.
–jeroen.
RestDemo folder with many examples that connect to many social things (Twitter, FaceBook, DropBox, etc).
Posted in Delphi, Delphi XE5, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2014/03/10
Every once in a while you have multiple threads or processes wanting to write a short message to the same log file. Append then will give you an I/O error 32 (ERROR_SHARING_VIOLATION), but the below small routine will sleep a bit while retrying a couple of times.
It uses these Delphi aspects around the $I or $IOCHECKS compiler directive:
- in $I+ mode, you get exceptions when certain “classic” Pascal style I/O operations fail.
- in $I- mode, you access the IOResult to obtain the results of those I/O operations
- IOResult gets the result of the last failed operation (if any) or zero if none failed
- IOResult clears the underlying storage to zero
- $IFOPT checks for a certain state of a compiler flag
- You can store the state of $OPT in a temporary conditional define
Note there are a few tables of codes you can get back through IOResult as basically you can get many GetLastError results in IOResult as well: Read the rest of this entry »
Posted in Delphi, Delphi 1, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Software Development | 2 Comments »
Posted by jpluimers on 2014/03/09
Ilya Grigorik – Google+ (from Google) shared a link to tldrlegal.com/: TLDRLegal – Software Licenses Explained in Plain English.
Very convenient to have all these licenses in one central places, bot for developers and consumers of software.
He also found why on certain devices (for instance Android Nexus 4) you get a security warning when viewing that site:
the www is missing from the certificate, so http://www.tldrlegal.com is not included in it: Qualys SSL Labs – Projects / SSL Server Test / tldrlegal.com.
For those devices apparently, https://tldrlegal.com redirects to https://www.tldrlegal.com giving the security warning.
On most desktop browsers, you see https://tldrlegal.com perfectly fine.
–jeroen
via:
(I tagged this post with .NET and Delphi because that’s what I used most for Software Development, of course it applies to any kind of software development).
Posted in .NET, Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2014/03/06

The @appmethod secret.
Wow. Out of the blue, I just read Embarcadero Launches AppMethod, A New Multi-Device Development Platform For Native Apps | TechCrunch. And I’m impressed.
In short:
At SXSW 2014 (which is running now, its agenda has a schedule from March 7th till March 16th), Embarcadero announces appmethod, to be released in beta on March 18th, 2014 for building native cross platform applications. Many have found out you can apply for the beta at www.appmethod.com.
More and more people are bumping into the appmethod link, for instance on FaceBook, on Google Plus, at Delphi Bistro and #Appmethod starting with the @appmethod secret by Joy Ruff.
Below are a few my observations from following all of the above links. Read them, especially the TechCrunch. I expect interesting posts from others to follow really soon now (:.
I’m only a few hours ahead of you readers, but I’m having a positive vibe just for these reasons: Read the rest of this entry »
Posted in Android, C++, Delphi, Delphi XE5, Development, iOS Development, JSON, Mobile Development, Object Pascal, OS X FMX, Pascal, SOAP/WebServices, Software Development | Tagged: embarcadero, Multi-Device, TechCrunch | 15 Comments »
Posted by jpluimers on 2014/03/06
Like When DelphiSpeedup cannot register itself in Delphi on Windows Vista/7/8, GExperts also had problems installing on Windows Vista and up when Delphi runs in a non-elevated account.
It said it installed fine, but it didn’t get included when Delphi was started. The reason was that it got installed in the wrong root key.
What happened is that GExperts installed itself into the HKLM root:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\BDS\5.0\Experts]
GExperts=C:\Program Files (x86)\GExperts for Delphi 2007\GExpertsDelphi2007.dll
But it should have installed itself in the HKCU root: Read the rest of this entry »
Posted in Batch-Files, Delphi, Delphi 2007, Development, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2014/03/06
If you run FastMM4 in FullDebugMode, then here are two tips that new (and sometimes existing users) often overlook:
- If you set the
FullDebugMode directive in the IDE, build your project.
- Don’t forget to give your EXE access to FastMM_FullDebugMode.dll (x86), or FastMM_FullDebugMode64.dll (x64) which are stored in the FastMM4 download and in the precompiled directory of the source code.
Either put that DLL in your path, or copy it to your EXE directory.
- Make sure your EXE can write in the directory of the EXE.
The first makes sure all units are compiled with FullDebugMode (Delphi does not always do that automagically).
The second makes sure your EXE can access the DLL that writes out your *MemoryManager_EventLog.txt file containing memory leaks and other issues FastMM4 detected.
–jeroen
Posted in Conference Topics, Conferences, Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Event, FastMM, Software Development | 2 Comments »
Posted by jpluimers on 2014/03/06
Every now and then I need to go back to an old Delphi version, which nowadays means try and get it and all the tools installed on something newer than Windows XP.
When installing on Windows Vista and up (I usually run Windows 7 or 8.1), the DelphiSpeedUp installer barfs with something like this:
---------------------------
Installdelphispeedup105
---------------------------
Cannot register DelphiSpeedUpLoader.bpl.
---------------------------
OK
---------------------------
Andreas Hausladen (@AndyHTech) came to the rescue: Read the rest of this entry »
Posted in Delphi, Delphi 2007, Delphi 7, Development, Software Development | 1 Comment »
Posted by jpluimers on 2014/03/06
In this series of PowerShell postings, the below quote by Don Jones from Concentrated Technology is a must:
Proper formatting, including a little whitespace here and there, can make your Windows PowerShell commands a heck of a lot easier to understand.
But please don’t limit this to PowerShell code.
I see too many code at clients, even at conferences and magazine articles that are badly formatted.
Even more important: when you ask or provide for help on a forum or community site: please properly format your code examples. That makes it much easier for your audience (often yourself) to grasp the meaning.
For PowerShell: note that most syntactic elements provide for a very natural line continuation (so you can write really readable code), except for CmdLets, so often you will see { at the end of a line to make the most readable code.
–jeroen
via: Windows PowerShell: Whitespace, Please | TechNet Magazine.
Posted in .NET, Delphi, Development, PowerShell, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2014/03/03
Just a reminder to Self after reading Predefined Conditions in Conditional compilation (Delphi) – RAD Studio.
On iOS, these conditional symbols are defined:
- IOS
- MACOS
- MACOS32
- POSIX
- POSIX32
For the (x86 based) iOS simulator, CPU386 and CPUX86 are defined.
For iOS physical devices, CPUARM is defined.
For OS X and the iOS Simulator, ALIGN_STACK is defined as some parameters (including Extended) require to be aligned on 16-byte boundaries. For explanation, see the Mac OS X Stack Alignment article by Eli Boling, as well as PC_MAPPED_EXCEPTIONS and UNDERSCOREIMPORTNAME (sometimes een PIC).
–jeroen
via: Predefined Conditions in Conditional compilation (Delphi) – RAD Studio.
Posted in Delphi, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development | Leave a Comment »