2014-06-04 21 views
7

..res dosyasının kaynak denetiminde olması gerekiyor mu? C++ Oluşturucu XE5 olarak

Benim anlayış is that (.cbproj dosyasıyla aynı dizinde derleyici tarafından oluşturulan) ikili dosya MyProject.res programı simgesi ve proje sürüm ayrıntıları versiyonlarını derlenmiş içerir (maden de tezahür XML içeren görünüyor olsa da) .

Ancak bu bilgi .cbproj dosyasında ve .ico files; Sonra .res dosyayı silerseniz ve tam yeniden ben projeyi açmak dahaki sefere oldu almak gibi görünüyor.

*.res kaynak kontrolünde işaretlemiyor mu? (git kullanıyorum). Ve/Veya bunun yerine, nesne dosyaları ile aynı dizinde oluşturulmuş olması mümkün, bu yüzden kaynakla karıştırılmıyor mu?

(Bu kesinlikle C++ Builder 5'de güvenli değildi - .res dosyasını sildiyseniz, bunu bulamadığından şikayet ettiniz ve simgelerinizi kaybettiniz).

Güncelleme: Bu, .tlb dosyasına da uygulanabilir mi? Bu, .ridl dosyasına göre derlenmiş gibi görünüyor ve onu silersem, otomatik olarak yeniden oluşturulur. sildiyseniz

+0

Kaynak dosyaları ile ilgili olarak: Tek bir geliştiriciyseniz, .res dosyalarınızı kaynak denetimi altında bulundurmanın gerekli olduğunu düşünmüyorum. Bazı meslektaşlarım çok kullanıcılı projelerle ilgili sorunları rapor ettiler - kaynakları depodan (subversion) çektikten sonra "berbat" kaynaklar. Özellikle TImageList görüntülerin saydamlık/arka plan rengi özellikleri. Ancak sadece belli sistemleri etkiliyor gibi görünüyor ve maalesef nedenini bilmiyorum. Bu nedenle, kaynak kontrolümüzde .res dosyalarını dahil ediyoruz. – HvS

+0

Not: Ben hangi atıfta bulundu çekti dosyaları sorunlar Dfm dosyalarıydı yol açıyordu. – HvS

+0

DFMS kesinlikle onlar Formlar ayrıntıları nerede depolandığını gibi kaynak denetiminde olması gerekiyor! AFAIK, DFM ve RES arasında bir ilişki yok mu? –

cevap

4

C++ Builder 6.0 ve sonraki RES dosyaları yeniden oluşturur. Onlara diğer geçici/derleme dosyaları (OBJ dosyaları gibi) gibi davranıyorum ve bunları sürüm kontrol yazılımına koymuyorum. Yine de tüm bu dosyaları içeren gece yedeklerim var, ki hala iyi bir uygulama.

Ben TLB dosyaları hakkında emin değilim. Geçici olarak (aka yeniden adlandırmak) birini siler ve aynı duruma getirilip yenilenmeyeceğini görürüm. Eğer öyleyse, RES dosyaları ile aynı olmalıdır.

Tek yapmanız gereken kaynakları derlediyseniz, bu üçüncü taraf kitaplıkları için geçerli değildir. Bu durumda, yine de sürüm kontrolümde yer alamıyorum, çünkü onları değiştirmeyeceğim. Sadece yedeklerim var.

+2

C++ Builder 2009'da RIDL'nin kullanılmasından önce, TLB dosyalarını silmek güvenli DEĞİLDİR, aksi takdirde Tür Kitaplıklarınızı kaybedersiniz. RIDL piyasaya sürüldüğünde, TLB gerektiğinde yeniden yaratılan bir ara dosya haline geldi. –

3

Değeri için TFS kaynak denetimi varsayılanları *.res'u dışlamak ama *.tlb'u dahil etmektir.

Bu nedenle, *.res dosyalarının ilişkili yapıları tarafından oluşturulmasını beklemeniz gerekir. Yapı mevcut değilse, *.res dosyasının dahil edilmesi gerekir.

Ayrıca, *.tlb dosyalarının yerleşik olarak oluşturulduğundan şüpheleniyorum, ancak uzantı, yalnızca OLE tipi kitaplık dosyalarına tamamen benzersiz olmadığından TFS varsayılan olarak bunları hariç tutmuyor.

İlgili konular