Quantcast
Channel: Latest blog entries - Embarcadero Community
Viewing all 1683 articles
Browse latest View live

久々の Delphi (Object Pascal) 関連書籍 日本語版

$
0
0

 

先日、729日に翔泳社さん主催のデベロッパーサミットのセッションの一つを担当し、IoTやビーコンやマルチデバイス関連のお話を45分にわたって、弊社の井之上とともに繰り広げてまいりました。 ご聴講いただいた方々が、おおよそ弊社のことをご存知ない方だと思われましたので、DelphiC++ Builderのディープな話は置いておき、RAD Studioの特徴であるIoTとビーコン開発のコンポーネント周りや、マルチデバイス開発の基礎的な話をいたしました。おそらく150人以上は集まっていただいたかと思われる会場で、聴講者の皆様の前に立って話すというのは緊張するもので、セッション開始直後の数分間はカミカミでありました。

 

さて、今日の本題に入ります。久々に、日本語で書かれた(日本語に翻訳された)Delphi (Object Pascal)の書籍が出ています。


Read More

RAD Studio, Windows 10 Anniversary Update and Centennial

$
0
0

Windows 10 Anniversary Update shipped yesterday. This is the first mayor update to Windows 10, which shipped roughly one year ago. This new edition has many new features, mostly customer facing like the new support for Cortana. There is also, however, a new SDK that ships with it.

RAD Studio offers extensive support for Windows 10, offering new VCL controls that offer the Windows 10 UX, support for calling the new WinRT APIs, and integration of features based on those APIs into components (like the notification and the contracts components). The IDE also offers support for Windows 10 specific styles for both VCL and FireMonkey.

Among the many new features there is one of particular interest to Delphi and C++Builder developers: the Windows Desktop Bridge, also known as Project Centennial. This is a way to "convert" existing WinAPI applications into first-class UWP (Universal Windows Platform) applications, that can be executed "safely" on Windows 10 and distributed on the Windows 10 store (although this is still not enabled, as far as I can tell). These applications are natively compiled or .NET ones, and can still use older APIs and frameworks (WinAPI, MFC, VCL, WinForms, Silverlight, etc).

Creating a Centennial APPX

There are two ways to create the APPX files for the Centennial bridge. One is to use a converter from Microsoft, which will compare a vanilla image of the OS with that obtained after running the application installer, and capturing a differences among the two. This becomes the set of files to be packaged.

The second approach is to do the conversion process manually, as described on https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-manual-conversion. This is what I've done to convert a pretty simple Delphi applications into an APPX. First you need to call the makeappx utility, passing to a file with the list of files to embed (the executable, the graphical assets, and XML configuration file. and more) and as second parameter the output file:

makeappx.exe" pack /f mapfile /p myrssclient.appx

The other steps involve creating a certificate and using it to sign the APPX file with your credentials. So the real input to the process is the AppManifest.XML file and the list of files. The manifest has developer and application information, the logo, and a few more configuration settings. The list of files can be as simple as mine was:

[Files] "RssClient.exe" "RssClient.exe" "logo44x44.png" "logo44x44.png" "logo150x150.png" "logo150x150.png" "appxmanifest.xml" "AppxManifest.xml"

At this point I got my APPX file, I copied it into an Anniversary edition VM, and I was able to install it by opening the APPX as shown below:

If you follow the steps, the APPX get expanded into its own application folder and it is treated like a WinRT application, more than a traditional WinAPI ones. This is the installation folder structure (with the virtual file system under it):

The application is also added a a tile (with its logo) and can be started from there.

Next step is wait for Microsoft to enable distribution via the Windows 10 Store, that should allow most Delphi and C++Builder applications to be distributed and sold to large numbers of users, like it happens on the mobile platforms. Stay tuned.

PS. I'll cover more details in a coming "Windows 10 Anniversary Edition" Embarcadero webinar, later this month and we are planning to add specific support to simplify APPX deployment to the IDE in Berlin 10.1 Update 2, along with other new Windows 10 related features.


Read More

Embarcadero представила перспективу развития своих продуктов

$
0
0

Создание и поддержка программных систем – достаточно длительный процесс, а современный компьютерный ландшафт меняется так быстро! Практически каждой компании любого размера необходима обоснованная уверенность в том, что они смогут справиться новыми задачами, а инструменты и технологии, которые они освоили и применяют, активно развиваются.

 

Поэтому, компания Embarcadero, поставщик передовых средств разработки кросс-платформенных приложений и систем, открыто знакомит своих пользователей и заинтересованных специалистов с перспективными планами развития продуктов.

В среду была опубликована «дорожная карта» Product Roadmap August 2016, в которой содержится перспективный план развития до 2018 года и ряд важных утверждений, касающихся политики компании. Product-менеджеры компании – Марко, Дэйвид и Сарина – познакомили с некоторыми деталями плана. Полный текст публикации на английском языке доступен по ссылке, далее я постараюсь описать наиболее важные, на наш взгляд, пункты из опубликованного сообщения.

Предыдущая «дорожная карта» относится к февралю этого года. С этого времени стала более понятной политика разработки и выпуска актуальных версий продуктов. В соответствии с пожеланиями многих пользователей RAD Studio, компания перешла к политике выпуска одного основного релиза в год, но большего количества официальных обновлений. В течение года меняется достаточно многое в операционных средах и аппаратном обеспечении, что должно быть поддержано в наших средствах разработки. В частности, в RAD Studio 10.1 Berlin Update 2 будет включена поддержка Windows 10 Anniversary Edition, со специальной поддержкой Windows Desktop Bridge (Centennial) для создания файлов APPX непосредственно в IDE. Компания планирует постоянно обеспечивать актуальную поддержку новых технологий Microsoft. Для более полной поддержки Windows 10, в Update 2 будут добавлены Windows 10 Anniversary Styles и UX элементы управления.

Главным и самым замечательным пунктом в плане является предстоящая поддержка Linux. Возможность переноса серверных частей ваших систем (используя те же компоненты доступа к данным) и размещения их на выделенных Linux-серверах или в облачных платформах дает очень много преимуществ разработчикам на Delphi или C++Builder. Это касается расширений Apache, консольных приложений, проектов WebBroker, серверов DataSnap и модулей RAD Server, а также других решений с многозвенной архитектурой. Поддержка платформы и компиляторы для Linux появятся в предстоящем главном релизе 2017 года, под условным названием Godzilla, а предварительное ознакомление - в конце текущего года.

Расширяя поддержку платформ, компания не забывает и развитии компиляторов. Планируется дальнейшее развитие синтаксиса языков Object Pascal (Delphi) и С++ в C++Builder. Это даст поддержку нашим пользователям в решении их практических задач, позволяя нативно компилировать на любом уровне, используя единые UI, компоненты и фреймворки. Пока никто другой не делает это на таком уровне, как мы. Обещано обновление компиляторов C++ до Clang 3.9 и постоянная адаптация их до последней стабильной версии Clang, интеграция IDE c CMake

Не забыты VCL и FMX. Одним из ключевых направлением развития FireMonkey объявлено дальнейшее расширение нативных элементов управления, с учетом Z-order.

Мы с энтузиазмом смотрим на предстоящую работу. Очевидно, что в список могли не войти пункты, которые важны именно для вас, но возможно будут включены в окончательный вариант продукта. Так же, необходимо помнить, что это пока планы, которые реальная жизнь может скорректировать. Что-то может появиться раньше, чем в плане, что-то позже. Если у вас есть замечания, предложения, комментарии – будем рады обсудить их. 


Read More

Online video chat with Pat of the G+ C++ group and Bruneau, one of our compiler engineers, next Wednesday!

$
0
0

Next Wednesday we're hosting an online webinar in partnership with the G+ C++ group which is a live chat with Pat of the G+ group, a C++ expert and developer, and Bruneau Babet, one of the compiler engineers at Embarcadero, hosted by me.

It's a freeform chat (lightly edited for pauses etc) but we envisage covering a lot of technical topics - things like language and compiler topics, extending Clang, IDE internals, that kind of thing. It's a glimpse into a side of the C++ world you might not often see.  If you're the kind of person who reads blog posts about new calling conventions or follows why Xcode's code completion is different to VC++'s or is interested in Clang on Windows or any platform or what happened to classic Borland C++ or... any topic... this might be for you.

If there's some technical topic you'd like us to talk about, post what it is - we'll try to add it. (Please keep to on-topic questions - the chat is broad but intended to be technical.) Since the talk is pre-recorded, please post your suggestions here or (even better) on the G+ post. You can register for the webinar here.

This talk is part of a week-long boot camp we're doing, which includes a 100% discount on C++Builder Starter edition! There are lots of other interesting topics - as well as getting started with C++Builder, other sessions cover writing games, using our GPU-powered cross-platform UI framework, FMX, and writing natively compiled C++ apps for mobile. Thanks to Pat and to the C++ G+ group as a whole for joining us for the talk!

 

 


Read More

製品ロードマップ(2016年8月付)

$
0
0

この記事は、Marco CantuによるProduct Roadmap August 2016の抄訳です。

2月にエンバカデロ製品の詳細なロードマップを発表した際お約束した通り、半年毎にロードマップを更新し、お客様と今後の展開について共有したいと思います。多くの方からのご要望に応じた結果、通年計画としましては、アップデート数を増やし、メジャーリリースの回数は1回とする方向に進んでいます。

現在進めているエキサイティングなプランは、今後、お客様やパートナーの皆様の要件や意見を反映しながら、引き続き微調整していきます。変更点としましては、RAD Studio 10.1 Berlin Update 2で、Windows 10 Anniversary Editionに必要なサポート、特にCentennialとして知られていたWindows Desktop Bridgeへのサポートを提供するものです。また、このアップデートには、新しいWin 10 Anniversary スタイル及びUXコントロールが含まれます。

Godzillaの開発トラックは順調に進んでいます、それと並行して、Microsoftの開発動向にも歩調をあわせたいと考えています。Windows 10サポートをさらに拡大するために、Update 2には新しいWindows 10 Anniversary Edition のスタイル及びユーザーインターフェイスコントロールが含まれる予定です。

既に述べました通り、このプランは、年1回のメジャーリリースというサイクルに戻って、機能追加と、期間中にリリースされたOSの新バージョンをサポートするアップデートを、年2~3回提供するものです。以上がロードマップの概要ですが、続いて、RAD Studioのプロダクトマネージャを務めるMarco、 David、Sarinaの3名から詳細なコメントがあります。

2016 Product Roadmap

*ここに記載した製品機能は、その提供をお約束するものではありません。この記事内で触れたすべての機能は、技術的な理由や優先度の変更などの理由により、変更される可能性があります。

Marcoからの詳細情報

Marco CantuMarco Cantu - Delphi言語 / パーソナリティ、Delphi RLT、VCL、データベースとWebテクノロジー、RAD Serverを担当

過去数年間にわたり、私たちはDelphiで多大な前進を成し遂げてきました。パートナーやお客様からお話を伺って、SeattleとBerlinに組み込まれている新機能の多くが、あまり知られていないことが分かりましたので、まず、Windows 10に搭載されるWinRT APIへのサポートを拡大することから着手しました。私たちは、Windows 10対応の一環として、VCLへのタイムリーなサポートを提供しました。今後もこの方向性に沿って、Windows 10 Anniversary Editionの新機能へのサポートを提供する予定です。

ロードマップにおける最もエキサイティングな新機能は、まもなくプレビューがスタートするLinuxサポートです。サーバーサイドのコード(Apache拡張、コンソールアプリケーション、WebBrokerプロジェクト、DataSnapサーバー、RAD Serverモジュール、カスタム中間層アーキテクチャ)を使用し、データーアクセスコンポーネントを保持、Linuxオンプレミス・マシンやクラウドインスタンスに配置することが可能となるため、Delphi開発者の皆さんにとって、そしてC++Builder開発者の皆さんにとっても、新たな可能性が切り拓かれることでしょう。

それと同時に、Delphi言語の改善を忘れてはなりません。投入される新機能は、Nullable型へのサポートですが、かなりの項目にわたる言語構文の強化も検討中です。後者はどちらかというとマイナーな変更ですが、コードを書く際、その可読性や表現力の改善につながります。

Delphi、VCL、およびRAD Serverの詳細なロードマップは以下のとおりです。

Berlin Update 2

  • Windows Desktop Bridge(旧Centennial)配置のサポート:従来からのモバイル向け配置サポートと同様の方法で、IDEから直接APPXファイルを構築
  • QuickEditプロパティ:標準コントロールで通常最もよく使用するプロパティへのアクセスを迅速化することで、VCLデザイナー上での日常タスクをスピードアップ
  • 新しいWindows 10 CalendarView VCLコントロール:(完全にVCLコードで記述されているものの)ネイティブWinRTカレンダービューコントロールと完全に合致
  • Windows 10 Anniversary Edition用の新しいVCLスタイル

Godzilla

  • Linux Server 64bit向けDelphiコンパイラとRTLを提供
  • Konopka Controlsを統合して提供
  • Konopka Controlsのデザイナー機能をVCL設計エクスペリエンスの中核に取り込むことで、VCLビジュアル設計のエクスペリエンスを刷新
  • DateおよびTime Pickerや追加のカスタムパネルを含む、新しいWindows 10 VCLコントロール
  • FireDACのLinux サポートとすべてのプラットフォーム向けのドライバアップデート(サポート中の多数のデータベースエンジンが対象)
  • 大容量メモリ対応のスタンドアロンDelphiコンパイラ
  • RAD Server Linux版(Apache統合、Delphi/C++でLinux RAD Server APIモジュール作成が可能)、RAD Server Console UI の強化、マルチテナント機能

Godzilla Updates

  • 品質及び性能を改善
  • 新しいVCLコントロール(評価中)
  • コード移行ツールの改良
  • RAD Server向けに、ログイン向けActiveDirectoryサポート、アカウントのAD同期、クライアント向けKerberos認証

Carnival

  • Apple macOS 64-bit コンパイラとツールチェイン
  • Nullable型へのDelphi言語サポート
  • Delphi言語構文の強化

Carnival Updates

  • 品質及び性能を改善
  • Windows 10サポートの強化

Davidからの詳細情報

David MillingtonDavid Millington - C++ 言語、コンパイラとリンカ、マルチプラットフォームデバッガ、RAD Studio IDEを担当

目下計画中の今後の数バージョンのC++Builderのリリースは、きっと C++開発者の皆さんに満足いただけるものと信じています。私たちは最近、プラットフォームサポートに注力していますが、その一例がGodzillaでデビューするLinux Serverサポートです。ネイティブコードでクロスプラットフォームをサポートし、同一のUIと他のフレームワークを用いながら、すべてのレベルでネイティブコンパイルが可能であるため、実際的なユーザーニーズを強力に支援するものです。いずれの競合他社も、このレベルには到達していないと言っていいでしょう。しかし、この点に注力するためのコストは、C++言語サポートの遅延につながるため、強力なプラットフォーム基盤から、この点の改善にシフトしていきます。

現在、Clang 3.9をベースとしたClangベースのコンパイラのアップグレードを計画しています。まず、Windows コンパイラに着手し、その後すぐに他のプラットフォームも追加していきます。さらに、Clangの最新動向に足並みをそろえ、各リリースは、Clangの最新の安定版に極めて近いコンパイラをベースとするようにします。つまり、私たち、そして皆さまにとっても、「二兎を追う者は一兎をも得ず」ということわざとは逆に、一度にふたつの良いことがあるのです。そのふたつの良いこととは、他のIDEよりも優れたクロスプラットフォームサポートとクロスプラットフォームフレームワークを手にするだけでなく、C++言語サポートも同時に手にできるということなのです。

私たちは、IDEにありがちな閉鎖的で孤立した体制を少し開放しようと、コンパイラについてはCMakeサポートやある程度のIDE統合の検討を始めています。今、何をサポートするかを評価中ですが、CMakeに限るものではないと思いますので、ぜひ皆さんのご意見をお聞かせください。ツールの他、多くのC++コモンライブラリも検討中です。これについても、ぜひご意見をお寄せください。 最後に、デバッガーに関する素晴らしい計画があり、より多くのプラットフォーム上でLLDBを使用し、拡張機能やIDEとの統合を改善する作業を進めています。少なくとも、ClangとLLVMを使用する環境では、LLVMを使うことで統一を図りたいと考えています。

小さいことですが重要な事項として、BerlinのUpdate 2では、C++用のリネーム・リファクタリングを提供する予定で、非常に有用なものになるはずです。また、コード補完といったIDE機能や、リンカの改善を積極的に進めています。いずれの機能も改善課題として認識し、注力していきます。このように、永年ご愛顧いただいているユーザーの皆さんに満足いただける、すばらしい成果をまもなくお届けできると思っています。来年度は優れた機能も提供します。

Berlin Update 2

  • リネーム・リファクタリング
  • Win64 C++ デバッガーのプロパティサポート

Godzilla

  • Linux Server 64サポートを提供

Godzilla Updates

  • CMakeのサポート: CMake にbcc32c and bcc64のビルトインサポートを提供(CMakeそのものでサポート、あるいはパッチを提供)。いくつかのIDEサポートを提供、但し、範囲は未定
  • Clang 3.9へのアップグレード
    • 当初はWin64及びWin32を予定
    • C++17のフルサポート
    • 今後数回のリリースにおいて他のプラットフォームもサポート
    • Clangの最新動向をキャッチアップ:Clang 3.3の時のように遅延しない。最終目標は、Clangの最新版に追随してすべてのプラットフォームで展開すること

Carnival

  • iOS64, OSX64用の主要なデバッガー改善 – 基本的なBCCの拡張とDelphiサポートにより、両プラットフォームでLLDBを使用
  • Clang 3.9 / 3.x プラットフォーム展開

Ongoing, and Carnival Future

  • LLDB サポート強化 – フル拡張、Delphi サポート。対象プラットフォームの拡大(iOS64、OSX64、Win64、 Win32など)
  • リンカの改善(継続)

Sarinaからの詳細情報

Sarina DuPontSarina DuPont - FireMonkey、コンポーネントライブラリUXとスタイル、インストレーション・エクスペリエンス、デモとドキュメンテーションを担当

ここ数年間、私たちはFireMonkeyフレームワークにたくさんの素晴らしい機能を追加してきました。たとえば、FireUIマルチデバイスデザイナ、ビヘイビアサービス、FireUIライブプレビュー、ネイティブコントロールをはじめ、数多くの新機能や機能強化により、複数のフォームファクターやターゲットプラットフォーム向けの迅速なアプリケーション開発を可能にしました。FireMonkeyのロードマップにおける主要なテーマのひとつは、ネイティブコントロールサポートの拡張です。現在、iOS 、Windows両方でのZオーダーサポートと、両プラットフォーム上での各種UIコントロールのネイティブプレゼンテーションサポートを提供しています。

以下に示したFireMonkeyのロードマップでお分かりいただけるように、このZオーダーサポートをAndroid及びMac OSにも拡大する計画です。ロードマップの一環として、UI コントロールへのAndroidおよびMac OS向けネイティブプレゼンテーションサポートの追加も計画中です。Update 1で導入されるiOS上での新しいTGridネイティブレンダリングサポートも気に入っていただけるものと思います。画面サイズの制限という観点から、タブレットアプリケーションのグリッドレイアウトは人気があります。また、表レイアウトが好まれ、列の順序変更、サイズ変更、テキスト入力を必要とするエンタープライズアプリケーション向けに柔軟性の高いUIを提供します。これについては、最近書いたブログで簡単に紹介しています。

Berlin Update 1

  • iOS上でのTGridのネイティブプレゼンテーションサポート
  • FireMonkeyのバグ修正

Berlin Update 2

  • Windows 10 Anniversary Edition向けの新しいFireMonkeyスタイル
  • FireMonkeyのバグ修正
  • サポート中のOSの最新バージョンへの配置サポート

Godzilla

  • Android向けFireMonkeyネイティブレンダリングのサポート(フェーズ1:Zオーダーの管理)
  • FireMonkeyのリファクタリング作業
  • サポート中のOSの最新バージョンへの配置サポート
  • Radiant Shapesコンポーネントライブラリ
  • FireMonkeyの各種強化

Godzilla Updates

  • Android向けFireMonkeyネイティブレンダリングのサポート(フェーズ2および3:TEdit、TMemoを含む、各種UIコントロールのネイティブプレゼンテーション)
  • FireMonkeyスタイルの追加
  • 追加の広告サービスをサポートする広告コンポーネントのアップデート
  • FireMonkeyのバグ修正

Carnival

  • Android上の追加のUIコントロールのネイティブプレゼンテーション
  • Mac OS向けFireMonkeyネイティブレンダリングサポート(フェーズ1:Zオーダーの管理)
  • Mac OS向けFireMonkeyネイティブレンダリングサポート(フェーズ2:TEdit、TMemoを含む、各種UIコントロールのネイティブプレゼンテーション)
  • プラットフォーム固有のコントロールを含むFireMonkeyコントロールの追加
  • サポート中のOSの最新バージョンへの配置サポート
  • デスクトップでのFireMonkeyマップサポート

Carnival Updates

  • Mac OS 上の追加UIコントロール(TListView、TGrid等)のネイティブプレゼンテーションサポート
  • iOS、Android、Windows向け追加UIコントロールのネイティブプレゼンテーションサポート
  • FireMonkeyのバグ修正とその他の強化

私たちは、現在のRAD Studio ロードマップ、そしてその先にある展開にわくわくしています。計画が期待のすべてを網羅しているわけではないことは承知していますが、この文書でハイライトされている主要な成果と一緒に他にも多くの機能を提供できると確信しています。中には上記のスケジュールよりも早く提供できる機能もあるかもしれません。

ご質問、ご意見は、担当のプロダクトマネージャまで、Eメールでお寄せください。また、アイデアや機能に関するご要望は、quality.embarcadero.com までお願いします。

これらの計画とロードマップは、現時点でのエンバカデロの方向性を示したもので、開発計画とその優先度は、変更される可能性があります。従って、ここに記載した製品機能や提供スケジュールのいずれについても、その提供をお約束するものではありません。また、製品スケジュールや製品ロードマップは、いずれの契約を中止ないしは置き換えるものではなく、お客様が利用されている製品のアップグレード、アップデート、機能改善、他のメンテナンスリリースについては、ソフトウェアライセンス契約に基づいて提供されます。


Read More

Building Delphi 3D Mobile Apps webinar follow up

$
0
0

This week I was doing live webinar for developers in EMEA about building 3D apps in Delphi. It is always a good fun! During the presentation I have promised to share the demo code, so here it is.

Go to GitHub and you can find there "DelphiArrows3D" repository that contains Delphi FireMonkey project template for interactive 3D visualisation that I have demonstrated during the webinar. It is a simple Delphi 10.1 project that shows how to build and interactive 3D mobile app.

This project is really designed to act as a starting point for other 3D apps. A kind of a template.

Just replace the content of "DummyScene" component with your 3D objects you want to visualise. Currently "DummyScene" contains three cylinders and three cones, with corresponding material components, that make up arrows for a 3D coordinate system.

In FireMonkey 3D the "x" coordinate points to the right, "y" to the bottom and "z" into the screen. There are different approaches to manipulating objects in 3D space. The first possibility is to have a fixed camera and move the scene. The second one is to move the camera and have the scene in the fixed location. Of course you can move camera and scene at the same time.

In this project we are using the second approach. The scene is fixed and the camera is moving. In fact the implementation is conceptually very similar to a "selfie stick".

There are two "TDummy" components in the origin of the coordinate system. They have both position (0,0,0). "TDummy" is a very useful 3D object. It does not have a visual representation at runtime, but it is used to group other objects, so they can be manipulated together. In FireMonkey architecture any component can own other components. The contained components inherit all transformations - like position, scale and rotation - from the parent component. It is very easy to see which component owns which components in the "Structure View". You can also use this view to change parent-child relationships between components.

In the template project "DummyXY" component contains the "TCamera" component that has the position (0,0,-10) and looks at the origin of the coordinate system. This is all relative to the parent component. The other dummy component - "TDummyScene" - contains all 3D objects we want to visualise. In order to look at the scene from a different angle we can change the rotation angle of "DummyXY" and the camera will rotate as well. If we want to change the "zoom" we can just change the "z" position of the camera. It is like making the selfie stick longer or shorter.

FireMonkey is a cross-platform library and our project can be built for either mobile (iOS, Android) or desktop (Mac, Windows) targets. On mobile we are expecting to use touch - and mouse on desktop - to change the point of view of the camera. Luckily mouse events translates to touch events automatically on mobile so we can write code as if it were a mouse on mobile targets. For zooming we need to support mouse wheel on desktop and multi-touch zoom interactive events on mobile. In order to centralize zooming logic there is "DoZoom(aIn: boolean)" method defined that changes the "z" position of the camera accordingly.

The movement of the camera comes from handling "mouse down" and "mouse move" events that also work with touch on mobile. If the user moves its finger (or mouse) horizontally, we want to change the rotation of the "DummyXY" component around "Y" axis. If the user moves finger vertically, we are changing the rotation around "X" axis. This gives a nice user experience of moving the object in a 3D space and the scene appears to stay in the middle of the screen.

You can check out the source code of the "DelphiArrows3D" project on github. It has MIT open source license attached to it, so you can really do whatever you want with this code.

This 3D visualisation logic is also used as the backbone of my "Molecule Hero" Delphi app that reads the 3D data from the PDB file format and renders different chemical molecules.

The "Molecule Hero" source code is also available from GitHub.

I can't wait for more developer webinars! On Wednesday, August 17th, 11am CEST, in less than two weeks from now, I'm doing "Mind Your Language!" developer webinar that will focus on Object Pascal programming language used in Delphi. It is free but you need to register.

 


Read More

Last Day for C++ Builder Gratis License!

$
0
0

Right now we have C++Builder Starter at 100% off - and today is the last day!  If you haven't already, get your license here!

Note: if you don't see it available at $0, or you get redirected to a different page, you're encountering some website issues. Please email me at david dot millington at embarcadero.com with your name, email and country, and I'll get a license to you.

Did you know - next week we are also having a C++ boot camp, covering getting started with your new C++Builder Starter license, making amazing UIs, writing games, and moving to cross-platform. We're also having a very interesting conversation with Patrick Scheller, a moderator of the C++G+ group and developer and project manager, and Bruneau Babet, one of our compiler engineers, about all sorts of technical C++, compiler and IDE stuff. A week of amazing content - register here!

 


Read More

Brutally Roll Your Own Backend – Part 16

$
0
0

lamp-stack (1)

Brutally Roll Your Own is a video series on building a PUSH enabled mobile application from scratch, using a Linux, Apache, MySQL, PHP (LAMP) server for the back end, and Delphi for the mobile app. In Part-16 we repair a small design flaw in our UI, and build the code to register devices with our server.

Sign up with linode here

Sign up for Linode by clicking here!
If you select linode to host your back end, as I suggest in part 2 of this video series, please consider signing up through my referral link above. I host my servers (including this site) on linode, and this will help pay the bills! If you already have an account, you can enter this referral code: fb41cc68526abce4ffa14bfd797d5c4cc684f192  Your support is appreciated!

[Listing of all parts]


Read More

The August 2016 Delphi (and RAD Studio) Roadmap

$
0
0

Embarcadero has published yesterday a new roadmap for Delphi, C++Builder, and RAD Studio, with the current plans for the next 18 months.

The document is available at:

http://community.embarcadero.com/article/news/16418-product-roadmap-august-2016

As you can see each of the PM (myself included) has added some detailed information. Over the next few weeks, I'll blog some more specific information about the features of the coming releases, and you'll start see some previews of future technologies as well.

PS. If I don't approve your comments here timely it is because I'm taking 10 days off, with limited connectivity. No bad intentions. ;-)


Read More

C++ Boot Camp Monday, August 8, 2016 - Building your first application with C++Builder

$
0
0

The C++ Boot Camp starts on Monday, August 8, 2016 and continues each day of the week. I am kickoff the first day and will cover building your first C++Builder applications using VCL, FMX and the RTL. The following are some of the links to additional information for my presentation. You can register for the C++ Boot Camp at https://attendee.gotowebinar.com/register/1361682854879502081

C++ Boot Camp Daily Agenda

  • Day 1: August 8, 2016 – Building your first application with C++Builder
  • Day 2: August 9, 2016 – Creating fast responsive user interfaces with animations and effects
  • Day 3: August 10, 2016 – C++11 language deep dive, and online chat with Patrick Scheller & Bruneau Babet
  • Day 4: August 11, 2016 – Game development with C++
  • Day 5: August 12, 2016 – Stepping up to mobile

 

Day 1 Replay on Embarcadero's YouTube Channel (EmbarcaderoTechNet)

 

C++Builder Information Links

 

C++ Demos Source Code

C++ Parallel Programming Library projects code - http://cc.embarcadero.com/Item/30589

 


Read More

C++ Boot Camp Tuesday: Fast Responsive User Interface Effects and Animations

$
0
0

Day 2 of C++ Boot Camp covers creating fast and responsive user interfaces with effects and animations.

Agenda

Today we will mostly focus on FireMonkey with lots of practical examples of different user interface considerations. While we will focus on Windows user interfaces, we will also discuss how to plan for mobile.

  • User Interface Considerations
    • Discuss some common user interface paradigms and common elements. 
  • Working with Animations
    • Animations are a great way to add movement to your user interface. Especially useful when it comes to bringing your user interface to life to help your users discover how to interact with it.
  • Creating Effects
    • Effects can be as simple as a drop shadow on a button, or as complex as a page curl. They add depth to your user interface.
  • Avoiding Freezes
    • Freezes are bad news for your user interface. Typically the result of long running processes in the main user thread. We will look at a couple technique to avoid freezes to keep your application responsive and your users happy.
  • Dealing with Screen Resolutions
    • Not everyone is running on 30" High-DPI displays. We will discuss making your user interface responsive to different screen sizes so it always looks good and is easy to use.
  • Customizing Styles and Appearance
    • The styling system helps your application look great, and simple customizations are a great way to make your application stand out and look fantastic.

Presenter

  • Jim McKeethJim McKeeth
    • Lead World Wide Developer Evangelist & Engineer
    • Long time software developer
    • Invented and patented pattern and swipe to unlock
      • US Patent # 8352745 & 6766456, etc.
    • Built thought controlled drone with Google Glass
    • Host of Podcast at Delphi.org
    • Lives near Boise, Idaho, USA with his family
    • Improvisational comedy performer with CSz Boise
    • Follow on Twitter @JimMcKeeth

Register now for the rest of the C++ Boot Camp

Get your free C++Builder Starter license (Limited time)

Come back for links, replays and more.


Read More

MVP Spotlight: Eli of FMXExpress.com

$
0
0

Eli of FMXExpress.comI’m sure you’ve all visited FMXExpress.com, if you haven’t then I’ll just let you go there now. Eli is joining us for the C++ Boot Camp this week and is presenting on Thursday with coverage of game development with FireMonkey. He is showing off 4 different FireMonkey games that run on Android, iOS, macOS and Windows. The cool thing is some of the games have features where you can view the game on device while you control it on the other.

Eli currently manages a team of about 25 independent content creators, schedulers, and developers through UpWork. The content team handles over 30 Facebook pages reaching an audience of tens of millions of users. He has been hiring through UpWork since 2012 and has paid out hundreds of thousands of dollars on hundreds of contracts across many different projects. Through his writing on FMXExpress.com Eli has reached over 300,000 dFMXExpressevelopers interested in Delphi FireMonkey with over 600 tips and tricks articles. Additionally, over the years, he has deployed over 300 games to the web, Android, iOS, and Windows and aggregated 80,000+ flash games which have reached over 120+ million players worldwide with 215+ million gameplays. He is a full stack developer and entrepreneur who has also developed and deployed various trialware, freeware, open source, and server softwares with Delphi and many other technologies that have reached millions of users on the desktop.

When not being a business and development rockstar, Eli likes to travel.

You can find Eli all over the web and social media, but here are a few very cool sites to check out . . . .

Trolledge: Multi Platform Open Source Code Editor

 


Read More

C++ Boot Camp Wednesday: C++11 Deep Dive, and conversation with Patrick Scheller and Bruneau Babet

$
0
0

Day 3 of the C++ Boot Camp has a lot of material!  First, a deep dive into C++ - first, a lightning overview of C++ for those who haven't used it before, followed by taking some C++98/03-style code and changing it into modern C++, with explanation about what changed and why, as well as pitfalls and things to look into.

Very interesting material, and very useful for getting started!

Youtube replays

C++ Deep Dive

A lightning look at C++ in general for those who are new to it, followed by taking some "old" C++ code and refactoring it to use modern features - importantly, with explanations of each feature and why they are worth using, or why the new design is better.

Online chat with Patrick Scheller and Brueau Babet

This talk is between Pat of the C++ G+ group, a developer and project manager, and Bruneau, one of our compiler engineers.  It's not about C++ specifically, but instead talks about the compiler history, using Clang, compiler extensions, the difficulties of supporting two different languages that can interoperate, and some C++ features.  Fascinating stuff!

 

Resources

Source code

Basics

Forums

C++ / STL

C++ Builder

Thanks for attending, and for the great series of questions in the Q&A section afterwards.  You can still join for the rest of the boot camp, and get a copy of C++Builder Starter 100% off, or read more information on the Boot Camp here!

 


Read More

C++ Boot Camp Friday: Stepping Up to Mobile

$
0
0

Thanks for joining us for C+ Boot Camp

The replay and downloads will appear here soon.

Thanks!


Read More

Brutally Roll Your Own Backend – Part 17

$
0
0

lamp-stack (1)

Brutally Roll Your Own is a video series on building a PUSH enabled mobile application from scratch, using a Linux, Apache, MySQL, PHP (LAMP) server for the back end, and Delphi for the mobile app. In Part-17 we write the code for registering devices against our devices end=point.

Sign up with linode here

Sign up for Linode by clicking here!
If you select linode to host your back end, as I suggest in part 2 of this video series, please consider signing up through my referral link above. I host my servers (including this site) on linode, and this will help pay the bills! If you already have an account, you can enter this referral code: fb41cc68526abce4ffa14bfd797d5c4cc684f192  Your support is appreciated!

[Listing of all parts]


Read More

Brutally Roll Your Own Backend – Part 18

$
0
0

lamp-stack (1)

Brutally Roll Your Own is a video series on building a PUSH enabled mobile application from scratch, using a Linux, Apache, MySQL, PHP (LAMP) server for the back end, and Delphi for the mobile app. In Part-18 we write the code for the points form, which lets the end user know their loyalty points balance.

Sign up with linode here

Sign up for Linode by clicking here!
If you select linode to host your back end, as I suggest in part 2 of this video series, please consider signing up through my referral link above. I host my servers (including this site) on linode, and this will help pay the bills! If you already have an account, you can enter this referral code: fb41cc68526abce4ffa14bfd797d5c4cc684f192  Your support is appreciated!

[Listing of all parts]


Read More

Brutally Roll Your Own Backend – Part 19

$
0
0

lamp-stack (1)

Brutally Roll Your Own is a video series on building a PUSH enabled mobile application from scratch, using a Linux, Apache, MySQL, PHP (LAMP) server for the back end, and Delphi for the mobile app. In Part-19 we make a start on the code behind user sign-up and sign-in operations.

Sign up with linode here

Sign up for Linode by clicking here!
If you select linode to host your back end, as I suggest in part 2 of this video series, please consider signing up through my referral link above. I host my servers (including this site) on linode, and this will help pay the bills! If you already have an account, you can enter this referral code: fb41cc68526abce4ffa14bfd797d5c4cc684f192  Your support is appreciated!

[Listing of all parts]


Read More

Brutally Roll Your Own Backend – Part 20

$
0
0

lamp-stack (1)

Brutally Roll Your Own is a video series on building a PUSH enabled mobile application from scratch, using a Linux, Apache, MySQL, PHP (LAMP) server for the back end, and Delphi for the mobile app. In Part-20 we continue to flesh out the sign-up / sign-in functionality.

Sign up with linode here

Sign up for Linode by clicking here!
If you select linode to host your back end, as I suggest in part 2 of this video series, please consider signing up through my referral link above. I host my servers (including this site) on linode, and this will help pay the bills! If you already have an account, you can enter this referral code: fb41cc68526abce4ffa14bfd797d5c4cc684f192  Your support is appreciated!

[Listing of all parts]


Read More

Brutally Roll Your Own Backend – Part 21 – Final Part

$
0
0

lamp-stack (1)

Brutally Roll Your Own is a video series on building a PUSH enabled mobile application from scratch, using a Linux, Apache, MySQL, PHP (LAMP) server for the back end, and Delphi for the mobile app. In Part-21 we complete the user sign-up / sign-in functionality, add the ability to redeem loyalty points, and put in the PUSH notification code. At this point we call it Alpha release because it’s feature complete, bar one feature – I don’t add email notifications, this is something I may cover in the after series. This part completes the Brutally Roll Your Own Backend video series, so thanks for watching!

Sign up with linode here

Sign up for Linode by clicking here!
If you select linode to host your back end, as I suggest in part 2 of this video series, please consider signing up through my referral link above. I host my servers (including this site) on linode, and this will help pay the bills! If you already have an account, you can enter this referral code: fb41cc68526abce4ffa14bfd797d5c4cc684f192  Your support is appreciated!

[Listing of all parts]


Read More

Object Pascal developer webinar this Wednesday, Aug 17th, 11am CEST

$
0
0

In just two days I will be presenting the Wednesday EMEA Developer Webinar where I'm going to focus on Object Pascal programming language used in Delphi.

Mind Your Language!

Join us for a webinar on Aug 17, 2016 at 11:00 AM CEST.

Register now!

https://attendee.gotowebinar.com/register/6490173423290975236

The Object Pascal language used in Delphi is constantly evolving. With every new version of Delphi there are smaller and bigger changes added to Delphi compilers and the runtime library. 

In this one hour webinar we are going to review many different language features that even experienced Delphi developers might not be aware of. Learn new Object Pascal language constructs and start writing cleaner and better code! 

The webinar will be followed by the live Q&A session.

The webinar is free, but you need to register. After registering, you will receive a confirmation email containing information about joining the webinar.

 


Read More
Viewing all 1683 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>