Disegarkan pada 2019/11/09
Ini adalah proyek lama... Saya mengenal VB6 ketika saya masih di sekolah dasar, dan menulis banyak program satu demi satu. Saat liburan musim panas saat saya masuk SMP, sepertinya saya memulai proyek ini dengan ide "Saya berencana untuk belajar bahasa baru, dan akhirnya menggunakan VB untuk menulis plug-in untuk VB6 sebagai perpisahan" ( sepertinya aku sudah SMP sekarang hhh). Namun, ini bukanlah "pekerjaan perpisahan" yang saya harapkan, melainkan telah menemani saya selama tiga tahun di sekolah menengah pertama. Dari awal "plug-in kecil", perlahan-lahan berkembang menjadi proyek besar mungkin proyek terbesar yang pernah saya tulis.
Microsoft Visual Basic 6.0, sebuah IDE/bahasa yang lebih tua dari saya. Ketika saya menulis program ini, VB6 mulai menghilang dari pandangan orang, dan sekarang, mungkin hanya ada di memori. Ketika saya di tahun terakhir sekolah menengah atas, saya menyadari bahwa saya tidak akan lagi menjalankan proyek ini, jadi saya meluangkan waktu untuk memperbaiki dokumentasi dan merilis program dan kode sumber di Baidu Tieba VB Bar. Karena hanya ada sedikit pengguna VB, ini tidak menarik banyak perhatian, dan saya menyadari hal ini.
Melihat ke belakang sekarang, saya belajar banyak dari proyek ini Meskipun saya menjelajah sendiri, selama bertahun-tahun, meskipun bukan studi yang sistematis, saya tetap mendapatkan banyak ilmu, seperti:
Sekarang program ini telah menghentikan pemeliharaannya, dan saya tidak akan memberikan dukungan teknis (saya hampir lupa hhh). Program ini memiliki banyak bug, dan gaya pengkodeannya tidak bagus. Mengingat saat ini hampir tidak ada orang yang menggunakan VB6, maka Addin ini sendiri tidak memiliki nilai praktis, namun jika beberapa poin teknis di dalamnya dapat menjadi referensi bagi Anda, maka dapat dianggap telah memberikan nilainya :)
Develop/iCode 开发者指南.docx
adalah dokumen yang saya tulis saat merilis kode sumber. Beberapa isinya disusun sebagai berikut.
Program add-in VB6 (Addin) adalah plug-in yang menggunakan antarmuka yang disediakan oleh VB untuk meningkatkan IDE guna mengimplementasikan fungsi tertentu. Badan utama proyek ini adalah ActiveX DLL, yang memanggil komponen tertentu (Microsoft Add-In Designer, dll.). Komponen ini akan menyediakan antarmuka terbatas untuk mengendalikan perilaku IDE. Hook, modifikasi memori, dll juga digunakan dalam proyek ini. Untuk gambaran umum antarmuka dan proses, lihat dokumen docx.
Alat peningkatan kompilasi. Secara otomatis mengganti ikon file EXE dan mendukung ikon definisi tinggi; secara otomatis memasukkan file Manifest untuk mewujudkan fungsi seperti secara otomatis mengajukan izin UAC dan kontrol universal mengikuti tema sistem.
Tambahkan bilah tab ke ruang kerja IDE untuk memfasilitasi peralihan antar jendela.
Kumpulkan metode WIN32 API dan GDI+, konstanta, tipe, dan masukkan deklarasi secara otomatis.
Alat organisasi indentasi kode yang dioptimalkan dengan analisis kesalahan kode sederhana.
Alat statistik kode yang terperinci dan komprehensif.
Pencocokan warna IDE dapat dikustomisasi dengan memodifikasi memori, menerobos pencocokan warna VB yang monoton, dan dilengkapi dengan fungsi impor dan ekspor program.
Meningkatkan efisiensi.
Tata ulang kontrol jendela file.
Arsitektur iCode telah dimodifikasi berkali-kali. Sekarang, setiap proyek komponen bersifat independen. Peluncur (termasuk Connect) tidak bergantung pada proyek lain. Proyek peluncur (disebut A) mengacu pada proyek komponen (disebut B). modul kelas Antarmuka mengimplementasikan fungsi. Kode utama ditulis dalam B. A terutama menyediakan instance IDE dan informasi Hook.
Keuntungannya adalah memudahkan transplantasi. iCode terdiri dari banyak komponen. Jika semuanya ditulis dalam satu proyek, akan membingungkan dan merepotkan untuk di-debug. Anda tahu, karena penggunaan Hooks, dll., iCode sering kali perlu dikompilasi dan kemudian diuji. Mengkompilasi komponen lain yang tidak diperlukan akan membuang banyak waktu. Dengan menggunakan arsitektur ini, pertama-tama tulis proyek komponen + proyek peluncur. Setelah pengujian selesai, peluncur iCode yang sebenarnya akan mereferensikan proyek komponen. Cukup tambahkan sedikit kode panggilan. Anda juga dapat memulainya melalui debugging asli.
Selain itu, beberapa metode publik (terutama di iFunction) tetap tersinkronisasi dengan menggunakan file kode yang sama.
Gambar acak:
Develop/iCode.chm
Tambahkan Panduan PenggunaDevelop/iCode 开发者指南.docx
berisi rincian lebih lanjut selama pengembangan untuk referensi.