Eli minulla on seuraavanlainen metodi:
procedure TForm1.Test(ASrc : Integer; ASrc2 : Integer);
var
P : PByte;
begin
P := @ASrc; // P = 0x12F5BC
ShowMessage(IntToStr(Integer((P^))));
Dec(P, 4); // P = 0x12F5B8
//P := @ASrc2; // P = 0x12F5B8
// Näyttää väärän arvon kun Dec käytössä vaikka
// Osoite on sama kuin suoralla sijoituksella, miksi, eli kun käytän suoraa sijoitusta (kommentoitu) tuo näyttää oikein?
ShowMessage(IntToStr(Integer((P^))));
end;
En ymmärrä miksi tuo näyttää tuon viimeisen arvon päin mäntyä, kutsu on seuraavanlainen:
Test(5,8);
Delphi on CodeGear™ Delphi® 2007 for Win32® R2 Version 11.0.2804.9245
Kääntäjän bugiko?
3
660
Vastaukset
- hemmoit
Jäi vähän epäselväksi mikä on ko koodin tarkoitus...
Mutta miksi PByte (Osoitin 8 bittiseen arvoon) 32 bittiselle integerille ? eikö PInteger ole olemassa...
Haluatko nyt lisätä ASrc arvoon 4, vai yritätkö saada selville ASrc2:sen osoiteen pinossa (joka olisi kikkaillua) ?- Ihmettelevä_testailija
Joo, tosiaan tarkoitus oli saada selville tuon pinon logiikka/arvot, aloittelija kun olen, osaatko siis kertoa tarkemmin kuinka tuon teen, teoria on kyllä hallussa, mutta eipä tuo käytäntö oikein. Eikö tavu pointteri tuossa ole ihan ok?
- öty-
Ihmettelevä_testailija kirjoitti:
Joo, tosiaan tarkoitus oli saada selville tuon pinon logiikka/arvot, aloittelija kun olen, osaatko siis kertoa tarkemmin kuinka tuon teen, teoria on kyllä hallussa, mutta eipä tuo käytäntö oikein. Eikö tavu pointteri tuossa ole ihan ok?
Dec(P, 8) ... Taitaa olla 64 bittinen voit tietenkin käyttää tavupointteria mutta jos laitat 255 suuremman luvun niin huomaat mitä tapahtuu, jos taas "P:Pinteger" niin pitää olla Dec(P,2) eli vähennetään 2 integeriä Kokeile myös "pointer" ja "PWord"
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Lääppijä Lindtman jäi kiinni itse teosta
Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-20000117808521774027Huomaatteko Demari Tytti ei esitä pahoitteluitaan
Samanlainen ilmeisesti kuin Marin eli Uhriutuu no he ovat Demareita ja muiden yläpuolella siis omasta mielestään813179Vedonlyöntiä .
Olen valmis lyömään ison vedon , että homma kaatuu . Jos kerta Sivonen ei lähde mukaan , niin ei tuoho usko kukaan muuka242326Turvaan tulleet lähettävät omia lapsiaan vaaraan - hullua
MOT-ohjelman jakso ”Loma vaihtui kahleisiin” kertoi, kuinka Suomessa ja muualla Euroopassa asuvat somaliperheet lähettäv472175Mikä on pahinta, mitä kaivatullesi
pelkäät tapahtuvan? Jos kuolemaa, vakavia sairauksia yms. ei lasketa?832039TUNNISTELAATIKKO
Tähän ketjuun voi laittaa yhdellä tai kahdella lauseella (tai vaikka yhdellä sanalla) täydellisen tunnisteen, jonka vain851361- 401280
Tykkäätkö enemmän tavis- vai julkkiskisaajista tv:ssä?
Tykkäätkö enemmän tavis- vai julkkiskisaajista tv:ssä? Moni reality ja visailuohjelma luottaa julkkiksiin, mutta sentään251278Zoo jatkaa - jatkuuko mustamaalaus?
Tänään on päätetty Zoon avaamisesta uudelleen. Mielenkiintoista nähdä kautokurujen reaktio, nyt kun kyse ei ole kunnalli611091Valehdella saa, totuus salataan
Vaikuttaa vähän siltä, että sensuuria toteutetaan juorupalstallakin. Asioita saa kaunistella ja vääristellä, mutta totuu10778