Akhirnya mencobanya oleh Delphi2005. Asrama lebih baik dari 512m. Berbicara tentang stabilitas, itu jauh lebih baik dari D8, tetapi saya masih mendengar orang mengatakan bahwa ada banyak bug. digunakan. Lagi pula, tidak butuh waktu lama bagi Borland untuk mengembangkan kompiler menggunakan .net.
Saya tidak akan menyebutkan fitur baru Delphi2005, itu ada di mana -mana di internet.
Tapi: Saya benar -benar tidak mengerti. Poin kedua adalah bahwa diagram UML dapat secara langsung menghasilkan kode. Tahu jika ini alasannya, tetapi Delphi2005 tidakkah Anda mengatakan bahwa Anda dapat melakukannya tanpa Eco? Poin terakhir adalah bahwa mungkin kompiler Borland adalah tingkat tinggi, tetapi editor kode jauh dari VS2005 OK, dan kecepatannya sangat cepat, dan keluar secara instan. untuk bergegas sebentar sebelum keluar. Tetapi agar adil, petunjuk untuk menggunakan VS secara langsung didasarkan pada kode. Ini akan benar -benar menjadi bencana. Berbicara tentang lekukan kode otomatis, Borland benar -benar tak tertandingi. Hal terakhir yang saya tidak suka adalah bahwa saya akan secara otomatis menghasilkan templat anotasi dengan 3 // di VS, tetapi Delphi tidak menyediakan fungsi yang sesuai, sehingga benar -benar tidak mudah untuk berkomentar dengan cara ini.
Kembali ke topik, Delphi for.net telah membuat beberapa penyesuaian sintaksis untuk beradaptasi dengan beberapa persyaratan .NET, tetapi ada beberapa buku terkait dan mereka tidak dapat menulisnya dengan baik. bagaimana menulisnya. Sekarang Anda memiliki Delphi2005, Anda tidak bisa menunggu, terus menjelajahi diri sendiri.
Hari ini saya akan melihat bantuan dan belajar namespace
namespace
Menyatakan namespace
Dalam file proyek Delphi, sebuah namespace secara implisit dinyatakan, disebut namespace default proyek. Asumsikan bahwa header file proyek didefinisikan sebagai berikut:
Program myCompany.programs.myprogram;
Maka namespace default dari proyek ini adalah myCompany.programs
Jika header unit didefinisikan sebagai unit ****; itu setara dengan menulisnya sebagai unit myCompany.programs. ****
Jika header unit didefinisikan sebagai unit ***. ****. ***;
Unit dinyatakan secara pertama disebut unit generik, yang selalu merupakan subruang dari namespace default proyek
Penamaan namespace tidak sensitif. Dengan kata lain, di antara beberapa segmen kata yang dibagi., Bagian terakhir tidak dihitung sebagai nama dan tidak dikompilasi ke dalam perakitan. , Unit3. Dengan menggunakan fitur ini, jika namespace besar perlu dibagi menjadi beberapa file untuk ditulis, Anda dapat membuat seluruh bagian unit ini sama, hanya berbeda di bagian yang terakhir ini.
Referensi ke ruang nama
Gunakan Pernyataan Penggunaan. Misalkan ada pernyataan berikut:
menggunakan aaa.bbb.unit1, unit2;
Telah ditentukan dengan jelas untuk aaa.bbb.unit1.
1 Unit Namespace saat ini (jika ada)
2 Namespace default proyek (jika ada)
3 namespaces yang ditentukan oleh opsi kompiler
Meskipun bagian terakhir dari nama unit tidak dapat dilihat dan tidak dapat dibedakan untuk kompiler eksternal, bagian terakhir masih sangat diperlukan di Delphi, sehingga bagian terakhir perlu dimasukkan dalam pernyataan Penggunaan, misalnya, Kelas1 didefinisikan dalam Unit1 AAA.BB .Unit1. Di unit aaa.bb.unit2, Anda harus merujuk pada nama lengkap penggunaan aaa.bb.unit1 dalam penggunaan atau jika namespace default dari proyek adalah aaa.bb.bb. Tidak peduli apa, unit1 sangat penting dalam penggunaan.
Dalam bantuan Delphi, dikatakan:
Beberapa unit dapat dikelompokkan bersama menjadi satu namespace menggunakan ekstensi klausa In dalam file sumber proyek.
menggunakan myprogram.mynamespace di 'filepath/unit1.pas; OtherPath/unit2.pas';
Dalam contoh ini, namespace myprogram.mynamespace secara logis berisi semua simbol antarmuka dari Unit1 dan Unit2. Simbol bernama mysymbol, kompiler akan melaporkan kesalahan dalam klausa penggunaan.
Tetapi tidak peduli bagaimana saya bereksperimen, saya memperhatikan kesalahan kompilasi, dan itu tidak dapat diimplementasikan.
Sejauh ini saya belum menemukan cara untuk merujuk DLL yang dihasilkan oleh Delphi. Karena ketika saya menambahkan DLL yang dikompilasi oleh Delphi untuk .net dalam proyek baru proyek Delphi, dan kemudian mengkompilasi, saya akan mengatakan kesalahan fatal, saya tidak dapat mengimpor apa pun, silakan gunakan paket, dll. Namun, tidak ada masalah dengan menambahkan DLL di vs.net, dan program dapat berjalan secara normal.
Sejauh ini, saya hanya menemukan solusi sementara, yaitu untuk tidak menghasilkan perpustakaan dan menggantinya dengan paket, sehingga file target akhir juga merupakan DLL, dan saya juga dapat menyebutnya secara normal di Vs.