2010-01-27 14 views
6

Kısa süre önce uzun süredir devam eden Delphi projemizi Açık Kaynak olarak değiştirdik. Birden çok kişi zaten yamalar ekledi, bu harika, ama ne yazık ki Delphi 2006 ile kaydedilen formlar ve çerçeveler (ve daha sonra) eski sürümleri tarafından ele alınmamış .dfm'de yeni özellikler içeriyor. Formlar, IDE tarafından oldukça hassas bir şekilde işlenir ("proletleri göz ardı et"), ancak kareler çalışma zamanında yüklenir ve hatalarla sonuçlanır. İlgilendiğim bir seçenek değil.Formlar ve çerçeveler Delphi 6 - 2007'de nasıl saklanabilir?

Şimdi bu özellikleri .dmf dosyalarından el ile kaldırdım, ancak daha zarif bir çözüm olup olmadığını merak ediyorum. Yeni IDE'lerden geriye doğru uyumlu bir biçimde kaydetmenin bir yolu yok, değil mi? Desteklenmeyen özellikleri .dfm'den çıkarmak için var olan araçlar var mı? Eksik olduğum başka herhangi bir şık çözüm?

Normalde, bir ticari proje ile, projeyi en güncel sürüme yükseltmek istiyorum ... ama bu açık kaynak olduğundan, Delphi 7 üzerinde hala çalışan geliştiricilerden gerçekten kurtulmak istemiyorum. Bu aslında kendimi içerir.

*.PopupMode 
*.PopupParent 
*.ExplicitLeft 
*.ExplicitTop 
*.ExplicitWidth 
*.ExplicitHeight 
*.BevelKind 
*.BufferDocument 
*.DoubleBuffered 
*.ParentDoubleBuffered 
*.DisableHyperlinks 
*.AlwaysEnquoteFloats 
*.PixelsPerInch 

Ben çalıştırın:

cevap

11

JEDI JVCL proje biraz yarar dc.exe (Delphi temizleyici) ve Delphi eski sürümlerinde bulunmayan DFMS özelliklerin bir listesini kullanır, maden aşağıdaki metni içeren Bu dc.exe yardımcı programı, dönüşümünü değiştirmeden önce dfms'imi temizleyen bir toplu iş dosyasından. Bu benim toplu dosyasında sözdizimi: eski Delphi

Açık DFMS desteklenen: tamlığı uğruna,

http://sites.google.com/site/warrenpostma/files 
+0

Waaay'i çok hızlı yazıyorsunuz. Aynı bilgiyi yayınlayarak neredeyse tüm yoldaydım; Beni ona yendin. Bütünlük uğruna –

3

Well:

dc.exe -s -fd10.txt *.dfm -i 

Sen benim şeyler kapmak olabilir , tüm bilinmeyen özellikleri kaldır, bir özelliği değiştir ve kaydet.

Amacınız için, Warren'ın çözümü daha iyidir, ancak bu bir çözüm olabilir. Bir süre ben D7-D2006ing derken yaptim.

+0

+1 :-) –

4

Andy'nin DFMCheck'u deneyebilirsiniz. Bir projedeki tüm formları ve çerçeveleri otomatik olarak açıp kapatabilir ve bu da IDE'nin bilinmeyen özellikleri kaldırmasını sağlar (Marco wrote).

+0

Güzel - Ben bunu bilmiyordum. Teşekkürler. –