2012-03-11 19 views
17

Có tài nguyên trên web giúp để bắt đầu với bản địa phát triển ứng dụng Metro với Delphi (Win32)?Tài nguyên cho quê hương phát triển ứng dụng Metro với Delphi

Cho đến nay tôi tìm thấy sự ra đời MSDN, Getting started with Metro style apps, mà liên kết với các bộ API có sẵn, bao gồm cả hai API gốc:

  • Windows Runtime (WinRT) - "Một API bản địa được xây dựng vào hoạt động Cơ bản cho các ứng dụng kiểu Metro. Được triển khai bằng C++ và được hỗ trợ trong JavaScript, C#, Visual Basic và C++ theo cách tự nhiên cho mỗi ngôn ngữ " ".
  • Win32 and COM for Metro style apps - "Tập hợp con của Win32 và API COM mà bạn có thể sử dụng trong ứng dụng kiểu Metro". Trích dẫn:

Ứng dụng kiểu Metro có thể sử dụng một tập con của Win32 và COM API. Bộ sưu tập API này được chọn để hỗ trợ các kịch bản chính cho phong cách Metro ứng dụng chưa được bao gồm trong Windows Runtime, HTML/CSS, hoặc các ngôn ngữ hoặc tiêu chuẩn được hỗ trợ khác. Bộ ứng dụng Windows chứng nhận đảm bảo rằng ứng dụng của bạn chỉ sử dụng tập hợp con này của Win32 và COM API.


Side lưu ý: người đầu tiên Metro ứng dụng cuộc thi đã closed on January 8, 2012 theo Metro Windows Store blog và những người chiến thắng đã được introduced cuối tháng Hai - các ứng dụng Metro đã có sẵn thông qua các Windows 8 Consumer Preview.

+8

Thậm chí không có phiên bản Delphi hỗ trợ WinRT (gốc hoặc quản lý). Chắc chắn, bạn có thể làm điều đó bằng cách xử lý WinRT như một API dựa trên COM mà cuối cùng là (ví dụ: xem http://www.thomgerdes.com/2011/12/writing-hello-world-for-winrt-in-delphi. html), nhưng không mong đợi bất kỳ hỗ trợ hoặc tài liệu nghiêm túc nào cho đến khi được Embarcadero hỗ trợ đúng cách. –

+3

Đây là hy vọng rằng câu trả lời được chấp nhận vào cuối năm 2012 sẽ trở thành "Sử dụng Delphi XE3, bây giờ với hỗ trợ Metro bản xứ". –

+4

Tôi cũng hy vọng rằng các ứng dụng metro gửi đến Windows Store sẽ không bị hạn chế đối với các ứng dụng được tạo bởi Visual Studio. – DamienD

Trả lời

3

Có một số blog và diễn đàn bài viết mới xung quanh chủ đề này, trỏ đến các vấn đề với việc sử dụng API mà loại khách ứng dụng từ cửa hàng ứng dụng MS:

Why no native WinRT support in Delphi XE3? - trích dẫn một forum post by Allen Bauer

Chúng tôi rất quan tâm đến việc hỗ trợ WinRT với mã C++ gốc Delphi & C++. Ngay bây giờ, các vấn đề xung quanh trung tâm không gian WinRT xung quanh thực tế là nhiều API do OS cung cấp được yêu cầu bởi bất kỳ ai triển khai ngôn ngữ của riêng mình. RTL thực sự là không có giới hạn trừ khi bạn là VCL DLL VC++. Bạn biết đấy, những điều nhỏ nhặt như RtlUnwind dành cho xử lý ngoại lệ và VirtualAlloc (et. Al.) Để quản lý bộ nhớ… Mọi cuộc gọi tới các API đó từ ứng dụng của bạn sẽ tự động bị loại bỏ. thông qua cửa hàng ứng dụng MS.

Xem thêm: Third-party compilers locked out of Windows Runtime development

Mặt khác, điều này official Microsoft presentation chứa một tuyên bố rằng

Martyn (Lovell) đã làm cho nó rõ ràng rằng chúng tôi không chỉ muốn thiết kế ngôn ngữ và người thực hiện để thêm WinRT vào danh sách nền tảng mục tiêu của chúng cho các ngôn ngữ và công cụ của chúng, nhưng chúng tôi sẽ trợ giúp và tư vấn.

13

Thom GERDES viết bài blog này trên 14 tháng 12 năm 2011:

Writing Hello World for WinRT in Delphi

Có tương đối ít thông tin trên mạng về phát triển Native ứng dụng Metro, đặc biệt đối với các ngôn ngữ khác hơn những người Microsoft đã cung cấp các dự báo cho (C++, C# và JavaScript). Các ngôn ngữ khác, bao gồm Delphi, cần tạo các dự án của riêng chúng trước khi chúng có thể sử dụng chúng hiệu quả. Tôi đã được điều tra việc Delphi tạo ra các ứng dụng gốc cho WinRT.

Và bài viết của mình Hello World: Hooking events cho thấy làm thế nào để sử dụng Metro "multicast đại biểu" xử lý sự kiện với Delphi.

Nguồn có sẵn tại https://github.com/tgerdes/DelphiWinRT

Các vấn đề liên quan