Kullandığımız XML kütüphanesinin MS bağımlılığı dolayısıyla değiştirilmesi gerekiyordu. Buna bağlı olarak XML için hazırladığımız config.pas'ın da değişmesi gerekiyordu. Zaten şu an kullanılan XML parse kodu 0.1'den yadigar tek kod bloğu.
WANT'ın xml parse işlemlerini inceledim. JAL diye bir kütühane kullandığını gördüm.
JAL içinde aradığımız Logger ve XML MiniDom sınıfları mevcut. Şu an XML sınıflarını ve buna bağlı kod bloklarını değiştiriyorum. XML config dosyasıyda haliye değişiyor.
Önceden her kural için columnrule diye bir eleman kullanıyorduk ve üreteç stratejisini de attribute olarak belitiyorduk:
<columnrule column="ID" strategy="1" >
<param name="start">0</param>
<param name="step">1</param>
</columnrule>Yeni XML dosya yapısında her elemanın adı stratejisi olacak
<autoinc column="ID" start="0" step="1" />Yeni sınıflar RTTI'den faydalanarak published alanlardaki değerleri XML elemanlarıyla eşliyorlar. Dolayısıyla bir sürü atama işlemine gerek kalmıyor. Recursive olarak her şey halloluyor. Kod daha sade ve anlaşılır.
DG_Builders içinde bulunan BuildGenerator metodlarının tümünü bu Rule sınıflarına taşıyorum. Projeden config.pas, DG_Builders.pas çıkacak. DG_Configuration.pas içinde bulunan devasa kod parçacıklarına da gerek kalmayacak. Bunların dışında en güzel şey ise projenin free pascal ile derlenebilmesi için büyük bir adım atılmış olacak.
İşlemlerin 2-3 hafta içinde tamamlanacağını umuyorum.
Recent comments
1 week 2 hours ago
1 week 3 days ago
1 week 6 days ago
2 weeks 3 days ago
4 weeks 1 day ago
4 weeks 1 day ago
4 weeks 3 days ago
4 weeks 5 days ago
4 weeks 5 days ago
5 weeks 1 day ago