Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Rasličito ponašanje na 2 compa-a

[es] :: Pascal / Delphi / Kylix :: Rasličito ponašanje na 2 compa-a

[ Pregleda: 1165 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

franjo_tahi2
Franjo Tahi
Zagreb

Član broj: 289851
Poruke: 43
*.adsl.net.t-com.hr.



Profil

icon Rasličito ponašanje na 2 compa-a14.02.2014. u 13:02 - pre 123 meseci
E dakle, isti kod daje različite podatke na dva različita kompa:

Code:

function Nesto: MojTyp;
var g: word;
begin
   ...
   g := 30;
   ...
   g := g - 31;
   ...
   result.g := g;
end;


nakon g := g - 31
1. komp daje g := -1
2. komp daje g := maxWord - 1

Korisimo Delphi 2007
na jednom kompu je Vista64, a na drugom Win8

Exe kod pokrenut na trečem kompu daje isto različite rezultate....
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Rasličito ponašanje na 2 compa-a14.02.2014. u 16:20 - pre 123 meseci
> 1. komp daje g := -1
> 2. komp daje g := maxWord - 1 // Ovde treba biti MaxWord

To je isti rezultat, samo zavisi kog ti je tipa Result.g i kako ga interpretiraš.
Word tip sam po sebi je namenjen prirodnim brojevima, ako ti je isključen range checking nećeš dobiti grešku i g će dobiti vrednost Word(-1).
Pitanje je šta se dalje dešava kod dodele Result.g i kod prikaza vrednosti tog broja, ako npr radiš konverziju u Integer onda ćeš dobiti 65535 a ako konvertuješ u Smallint dobićeš -1.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Rasličito ponašanje na 2 compa-a

[ Pregleda: 1165 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.