Profile cover photo
Profile photo
Edwin Yip

Post has attachment

Setting Vcl.Clipbrd.Clipboard.AsText content is *thread-safe*, because internally it calls the GlobalAlloc/GlobalUnlock statements in the SetBuffer method. Is it correct?

Post has attachment
These is a cool project by one of my fellow Chinese Delphi programmers called nickemma (see original links at the end of the post) I came across today that I couldn't resist to share with the world:

Picture 1
The electronic car that receives control commands through WIFI, sent from an Android app developed in Delphi.

Picture 2
The FireMonkey app that sends hex. control commands to the toy car.BTW, it uses an UI framework called OrangeUI that's available in China only.

Picture 3
The settings window of the Android app where you specify the IP of the toy car's WIFI modue, the hex. commands for turning left/right, forward and back, and so on.

Picture 4/5
He made two toy cars each of which are differently constructed, but seems to be controlled by the same Delphi-powered Android app. I don't know much about the electronic thing, but this project obviously shows a cool part of Delphi :)


5 Photos - View album

Post has attachment
This is how I discover new and interesting open source Delphi/Pascal projects - install Githunt and it replaces my 'new tab' page, there I set the language to Pascal, and all done!

Post has attachment
Native Delphi Deep Learning library, ported from ConvNetJS, by Mr. M. Schlieper. Well, DL and Machine Learning are hot in recent years, although I know nothing about it, but a pure Pascal deep learning library is really cool, isn't it?

Post has attachment
Opinioned, incomplete comparison of OmniThreadLibrary and darkThreading (

I spent half of my time today to dig into darkThreading.

I'm refactoring the multi-thread part of a program, decided to make it as much *FPC-ready* as possible.
Note, OTL is a very good and versatile threading library for Delphi, if the mentioned program would always stick with Windows I won't consider switch ATM.

- like OTL, darkThreading has an *lockless* *inter-thread communication* module that supports multi-sender-one-receiver mode which is just what I need. Actually an
inter-thread communication channel is my main (of not only) reason to use a 3rd party threading library.
- As opposed to OTL's inter-thread communication module's implemented using Windows messaging, the one in darkThreading's implemented using array thus is more *crossplatform-friendly*
- By browsing the source code, one can find that darkThreading is designed with cross-platform in mind.
- darkThreading's source code is much small in size and much easy to read and easy to understand.
- darkThreading's very very well and *completely commented* in the source code thus it's very easy to consult the docs while coding, whereas with OTL I need to read the PDF book by pj (don't get me wrong, I was very willing to pay for the book).
- darkThreading's recent github commits shows that it's progress for FPC support. Even if the developer doesn't do that, its 'interface for everything' design makes it very easy for one to add FPC support IMHO.

1 - I don't mean to start a war at all but just to share the result of hours of researching.
2 - I guess Craig Chapman the author of darkThreading is not in the group? I realized he's an EMBT employee, I guess the info about FPC exposed in this post wouldn't induce any pressure from his upper management? I wish it won't, hehe.

That's all for now and I'll experiment the code later on.

Post has attachment
I need a little help - anyone has successfully made DKLang (the open source multi-language package) to process Virtual treeview's header captions?

Got the "operation error. a problem occured during the process." error when installing the new Delphi CE onto *Win7 Home* which has the latest updates.

At first I selected all target platforms, failed with the above mentioned error message.

Then I deselected the Android and iOS targets, failed again.

Then I deselected the macOS target and keeps only the win32/win64 targets, still failed.

Where I can find the installation log files? Thanks. +Marco Cantù

+Thomas Mueller, I just noticed GExperts' GREP search doesn't work with .pas files saved in utf8 format - There is no result from those files, even using the latest svn trunk version I just compiled. Do you have any idea? Thanks.

Post has attachment
mrAI - Artificial Intelligence in *pure pascal* (compatible with Delphi2007 and later versions). I don't know much technical implementation details about AI, but AI has been being hot in recent years, isn't it? I'm not able to justify its quality or the coverage of the AI field, but as far as I know, it seems to be the only *pure pascal* AI implementation, isn't it?
Wait while more posts are being loaded