Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
Delphi 2009 Professional
|
Re: else ifs werden übersprungen
11. Sep 2007, 22:37
Zitat von s-off:
Zitat von xZise:
Oder wirft er vielleicht eine Exception?
Ja, und zwar deshalb, weil Du nur
with TIniFile(ExtractFilePath(ParamStr(0)) + 'info.ini') do
schreibst, es aber
with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'info.ini') do
sein müsste; das 'Create' fehlt.
Zitat von shmia:
Das Kernproblem lässt sich auch auf einen Integervergleich reduzieren:
Delphi-Quellcode:
function MakeVersion(major, minor, release, build:byte):Cardinal;
begin
result := (major shl 24) or (minor shl 16) or (release shl 8) or build;
end;
if MakeVersion(ReadInteger('Version', 'Major', 0), ....) > MakeVersion(Major, Minor, ...) then
Avaiable;
Und was bringt mir ein solcher Vergleich? (Auch an Dax)
Ich habe das so gemacht:
if (ReadInteger('Version', 'Major', 0) >= Major) and (ReadInteger('Version', 'Minor', 0) >= Minor) and (ReadInteger('Version', 'Release', 0) >= Release) and (ReadInteger('Version', 'Build', 0) > Build) then
Fabian Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
|
|
Zitat
|