2010-07-07 10 views
10

Czy można ustawić ustawienia "Informacje o wersji" z kodu? Chciałbym ustawić numerowanie wersji i wartość właściwości "Komentarze" bez używania okna dialogowego opcji projektu.Ustaw projekt Delphi 7 "Informacje o wersji" z kodu?

+1

można opracować na ten kawałek? Czy ** naprawdę ** chcesz zmienić wersję pliku EXE po kompilacji? Twoja aplikacja może się zdezorientować z powodu jakiegoś programu Mallware! A może chcesz go zmienić tylko raz podczas kompilacji? A może zaraz po zakończeniu kompilacji? –

+0

Nie chcę tego zmieniać po kompilacji. Chcę tylko ustawić wartości dla kompilacji w kodzie. – pantarhei

Odpowiedz

4

Polecam przy użyciu narzędzia kompilacji, jak FinalBuilder (którego używam bardzo często), który może zrobić to za Ciebie zgodnie z odpowiednim schematem. Wtedy wiesz, że opcje kompilacji są takie, jak chcesz, twoje liczby są odpowiednio zwiększane i możesz robić rzeczy takie jak przesyłanie do witryny FTP i wiele więcej. W moich skryptach numer kompilacji jest zawarty między wszystkimi plikami EXE i instalatorem.

+0

+1, również Visual Build Pro jest do tego odpowiedni. http://www.kinook.com/VisBuildPro/ –

10

Zamiast edytować binarny plik RES, który IDE dla Ciebie zarządza, możesz łatwiej przechowywać tekstowy plik RC zawierający version-info resource. Zapisać plik zasobów skryptu, a następnie umieścić go w swoim projekcie o linię:

{$R resources.res resources.rc} 

Należy usunięcia linię z pliku DPR Twojego projektu {$R *.RES}, albo dostaniesz zduplikowane zasobów wersja . Nie używaj swojej nazwy projektu jako nazwy niestandardowego pliku zasobów; ta nazwa jest zarezerwowana przez IDE.

Plik zasobów zarządzany przez IDE zawiera również ikonę projektu, więc należy to również uwzględnić w skrypcie zasobów.

Możesz ręcznie edytować skrypt zasobów lub napisać program do edycji lub regeneracji jako jeden z twoich kroków kompilacji.

Używanie skryptu zasobów tekstowych ma dodatkowy efekt uboczny, że łatwiej jest śledzić zmiany w dowolnym systemie używanym do sterowania źródłami, takim jak CVS.

+2

+1 Obecnie używamy informacji o wersji w plikach .bdsproj i .res, a to koszmar. Sprawia, że ​​scalanie jest kłopotliwe. Mamy twórcę oddziału, który zmienia informacje o wersji i sprawdza ponownie w svn, więc to nie jest problem, ale słono płacimy, gdy próbujemy połączyć się później. 99% zmian to pliki .bdsproj i .res! Zamiast tego przejdziemy do podejścia .rc. –

+3

Możesz po prostu wyłączyć informacje o wersji w opcjach projektu i nie uzyskasz duplikatu błędu zasobów, a jednocześnie możesz ustawić inne dane, które są ustawione w domyślnym pliku .res. –

+3

Należy pamiętać, że po usunięciu {$ * .res} tracisz również ikonę głównej aplikacji, zgodnie z ustawieniami opcji projektu, i będziesz musiał uwzględnić ją samodzielnie, używając pliku .rc. –

4

Musisz napisać do tego kreatora. Sprawdź IOTAProjectOptions w D7IOTA.HLP pliku, kodu źródłowego ToolsAPI jednostki i this thread

+2

Dlaczego upadek? Ta odpowiedź w rzeczywistości stanowi najbardziej bezpośrednią odpowiedź na postawione pytanie! OK, więc okazuje się, że plakat pytania był po czymś innym, ale ta odpowiedź nie zasługuje na pochwałę za to! Jeśli cokolwiek, powinno to być * pytanie *. (StackOverflow powinien prawdopodobnie zapewnić dwa rankingi dla pytania: 1 dla samego pytania i drugiego dla tego, jak dobrze pytanie zostało postawione/jak jasne było/jak blisko do faktycznego pytania wymagającego odpowiedzi itp.) – Deltics

+0

Prawdopodobnie moje rozwiązanie * wygląda na zbyt skomplikowane :-) Jednak albo IDE utrzymuje zasoby projektu wyłącznie, albo użytkownik musi to zrobić ręcznie. Jest to jedyny sposób na bezproblemową integrację. –

Powiązane problemy