Problem z kompatybilnością

dział ogólny

Re: Problem z kompatybilnością

Nowy postprzez Pitek » niedziela, 4 grudnia 2011, 01:39

Nic to nie dało robiłem kilka razy.... u mnie w helpie pisze ze maksymalna liczba wersji to 65535 tylko co z tego jak ten potworkowy numer wersji robi się tylko u góry w okienku właściwości a nie tam gdzie pisze Pozostałe informacje o wersji. Ja go nie nadaje on się robi taki dziwny jak zaznaczę automatyczna inkremenatcje wersji pliku. Wersja pliku jest wyświetlana tylko przy regionie ustawionym na Angielski(Stany Zjednoczone) i tylko wtedy, jest to wersja nadana przeze mnie a nie ta dziwna. Co więcej nie jest to wina (chyba) złej konwersji z wcześniejszego środowiska ponieważ testowałem to również na nowym projekcie stworzonym w XE2. I ogólnie coś tutaj chyba spierniczyli bo na 2010 to bardzo ładnie działało inkrementowała się wersja nadana w tych okienkach a nie jakiś potworek, działał każdy region.... eh nie wiem o co chodzi i nie wiem jak to rozwiązać. Powiedzmy że przeżyje że program będzie tworzony rzekomo w regionie "Angielski" ale fajnie by było jakby ta inkrementacja działała bo na razie inkrementuje się coś czego ja nie nadałem i nawet nie wiem skąd się to bierze(dziwna wersja).
Poniżej mój help odnośnie zakładki w ustawieniach projektu Version Information.

Include version information in project
Determines whether the user can view product identification information.

Module version number
Sets a hierarchical, nested identification number, made up of version numbers (major and minor), release number, and build number (for example 2.1.3.5):

Major version, Minor version, Release, and Build each specify an unsigned integer between 0 and 65,535. The combined string defines a unique version number for the application.
Auto generate build number generates the Release and Build number for you, and increments the numbers each time you select Project > Build <Project>. Other compilations do not change the build number.
This field sets the version number on all Supported Target Platforms.

To see the version number on a Windows platform, right-click the .exe file in the Windows file explorer, select Properties from the context menu, and find the File version in the Properties box.

To obtain version information programmatically from your compiled Win32 application, use the Windows GetFileVersionInfo and VerQueryValue API functions.

To get version information for an emulated Win32 process running in a Win64 environment, use the Windows GetNativeSystemInfo function.

Module attributes
Indicates the intent of this version: whether for debugging, pre-release, or other purposes. Module attributes can be included in the version information and are for informational use only. If a project is compiled in debug mode, the debug flag is included in the version information. You can select each of the remaining flags as needed.

Debug build Indicates that the project was compiled in debug mode.
Pre-release Indicates the version is not the commercially released product.
DLL Indicates that the project includes a dynamic-link library.
Special build Indicates that the version is a variation of the standard release.
Private build Indicates that the version was not built using standard release procedures.

Language
Indicates the Code Page that the users system requires in order to run the application. The Locale ID might be given in Hex; for example, $0409 = code page 1033.

You can only choose a language that is listed in the Control Panel Regional Settings dialog of your computer. Some versions of the Windows operating system do not include support for all languages (such as Far Eastern languages), and you may need to install the appropriate Language Pack before you can use those languages.

Key/Value list box
Sets typical product identification properties. Key entries can be edited by selecting the key and reentering the name. To add key entries, right-click within the Key/Value table and select Add Key.


Jeżeli byłaby taka możliwość i nie stanowiło by to problemu to jestem cały czas na skype. Można wtedy popróbować coś na bieżąco i szybciej dojść do jakichś wniosków a może do rozwiązania. Dane na moim profilu.
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    Windows XPFirefox

Re: Problem z kompatybilnością

Nowy postprzez Cyfrowy Baron » niedziela, 4 grudnia 2011, 10:15

Corvis, który korzysta z tej samej wersji środowiska co Ty z Update2 nie ma tego problemu.



pitek3010 napisał(a):u mnie w helpie pisze ze maksymalna liczba wersji to 65535


To się chyba odnosi do połączonych łańcuchów wersji, czyli Major + Minor - 32767 + 32767 = 65534 i z Release i Build jest tak samo. Nie jestem tego pewien, ale nie mogę u siebie nadać wersji większej niż 32767. Zauważ, że Corvis również.

Kolejna propozycja. Zamknij środowisko, usuń pliki tymczasowe i usuń plik zasobów *.RES. Jeżeli projekt nosi nazwę Project1.* do plik zasobów będzie nosił nazwę Project1.res. Po uruchomieniu projektu otrzymasz komunikat o brakującym pliku zasobów i zostanie utworzony nowy plik zasobów. W opcjach projektów przejdź do sekcji Application i zaznacz opcję Enable runtime themes. Przebuduj projekt.

Nie wiem co jest nie tak z Twoim środowiskiem, gdyż u Corvis-a działa wszystko poprawnie.

Tworzysz ten projekt w środowisku Windows XP, czy Windows 7 64-bit?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z kompatybilnością

Nowy postprzez polymorphism » niedziela, 4 grudnia 2011, 11:27

Teraz nie da się ich odczytać, jeżeli poda się kodowanie z VarFileInfo\Translation. By je odczytać trzeba podać kodowanie ze StringFileInfo i tutaj już jest problem.

No dobrze, ale po co ja mam pisać funkcję dla uszkodzonych danych?

Zależało by mi na tym żeby to była wersja w formie tekstowej.

Dlaczego? Do czego to ma być?

To się chyba odnosi do połączonych łańcuchów wersji, czyli Major + Minor - 32767 + 32767 = 65534

Przecież pisałem, że te cztery wartości są 16-bitowe (co też widać w kodzie odczytującym wersję binarnie). A to, że edytor Ci nie pozwala na ustawienie większej liczby, to wina edytora a nie formatu.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z kompatybilnością

Nowy postprzez Cyfrowy Baron » niedziela, 4 grudnia 2011, 12:44

polymorphism napisał(a):Przecież pisałem, że te cztery wartości są 16-bitowe (co też widać w kodzie odczytującym wersję binarnie). A to, że edytor Ci nie pozwala na ustawienie większej liczby, to wina edytora a nie formatu.


Jeżeli środowisko nie pozwala ustawienia większej liczby, to jest to ograniczenie środowiska i programując w tym środowisku trzeba się do tego zastosować.

polymorphism napisał(a):Dlaczego? Do czego to ma być?


Nawet jeżeli użyje danych binarnych do odczytu wersji to nie rozwiązuje problemu odczytania innych danych ze struktury StringFileInfo.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z kompatybilnością

Nowy postprzez polymorphism » niedziela, 4 grudnia 2011, 12:57

Jeżeli środowisko nie pozwala ustawienia większej liczby, to jest to ograniczenie środowiska i programując w tym środowisku trzeba się do tego zastosować.

OK, ale według tego, co zacytował pitek, środowisko traktuje te wartości jako wartości 16-bitowe bez znaku:

Major version, Minor version, Release, and Build each specify an unsigned integer between 0 and 65,535. The combined string defines a unique version number for the application. Auto generate build number generates the Release and Build number for you, and increments the numbers each time you select Project > Build <Project>. Other compilations do not change the build number.



Nawet jeżeli użyje danych binarnych do odczytu wersji to nie rozwiązuje problemu odczytania innych danych ze struktury StringFileInfo.

No, tu jest coś ewidentnie spieprzone po stronie środowiska/projektu. Ciekawe, być może całkowita rekompilacja zasobów (po usunięciu pliku .res) naprawi ów błąd.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z kompatybilnością

Nowy postprzez Cyfrowy Baron » niedziela, 4 grudnia 2011, 15:23

polymorphism napisał(a):OK, ale według tego, co zacytował pitek, środowisko traktuje te wartości jako wartości 16-bitowe bez znaku:


U mnie w pliku pomocy jest napisane to samo, a jednak nie mogę w żaden sposób przypisać wersji większej niż 32767. U Corvis-a, który używa tej samej wersji środowiska co pitek jest dokładnie tak samo. Bez odpowiedzi pozostaje pytanie dlaczego w środowisku pitek, w nowych projektach można nadawać taką wersję pliku.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z kompatybilnością

Nowy postprzez Pitek » niedziela, 4 grudnia 2011, 15:37

Porada Barona dalej nie przyniosła efektów. Program tworzę w Windows XP 32-bit ale zaznaczam że problem powstaje również w nowo tworzonym projekcie, środowisko było instalowane na czysto wszystko czyściłem programem Advanced System Care. U mnie mogę podać nawet wersję 999999.999999.999999.999999 i środowisko tego nie poprawi, w wersji wyświtlanej u góry okienka Właściwości owszem jest wtedy 34463.34463.34463.34463 ale poniżej w tablece jest dalej 999999.999999.999999.999999 :twisted: ja już nie wiem co się dzieje :zawiedziony:
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    Windows XPFirefox

Re: Problem z kompatybilnością

Nowy postprzez Cyfrowy Baron » niedziela, 4 grudnia 2011, 16:05

Jaką masz dokładnie wersję środowiska. Zrób zrzut ekranu dla okienka Help -> About... Do Corvis-a mam tą samą prośbę jeżeli to nie problem. Chciałbym porównać obydwie wersje środowiska, gdyż w tej chwili drepczemy w miejscu.

Czym innym może to być spowodowane? Może błędami w systemie operacyjnym!?! :roll:
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Problem z kompatybilnością

Nowy postprzez Pitek » niedziela, 4 grudnia 2011, 16:23

System jest świeżutko stawiany bo mi się dysk posypał i instalowałem wszystko na nowo ma może z 3 tygodnie na nowym dysku.
W załączniku moje okienko About ze środowiska.
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.
Komputer służy do tego aby ułatwić Ci pracę, której bez niego w ogóle byś nie miał.
E.Murphy
http://piotrekprogramy.pl
Avatar użytkownika
Pitek
Kreacjusz
Kreacjusz
 
Posty: 290
Dołączył(a): środa, 14 października 2009, 14:53
Lokalizacja: Rybnik/Wrocław
Podziękował : 43
Otrzymał podziękowań: 5
System operacyjny: Win 7 Ultimate 64bit SP1 / Ubuntu 19.04 LTS 64bit
Kompilator: Embarcadero RAD Studio XE2
SKYPE: pitek3010
Gadu Gadu: 7060047
    Windows XPFirefox

Poprzednia strona

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 3 gości