28. juni 2006 - 20:09Der er
4 kommentarer og 1 løsning
Delphi 3 var til delphi 2006 var
Hej
Jeg har et problem med nogle variabler i source code til delphi. jeg har hentet beware IRCD, og vil gerne konvertere den til en nyere version af delphi.
men jeg forstår ikke en variabel fejl jeg får.
function wintimefloat:extended; var p:tlargeinteger; e:extended; begin if performancecountfreq = 0 then begin QueryPerformancefrequency(p); e := p.lowpart; if e < 0 then e := e + highdwordconst; performancecountfreq := ((phighpart*highdwordconst)+e); end; if queryperformancecounter(p) then begin e := p.lowpart; if e < 0 then e := e + highdwordconst; result := ((p.highpart*highdwordconst)+e)/performancecountfreq; end else begin result := timegettime/1000; end; end;
problemet er p:tlargeinteger;
den giver mig en fejl: E2018 Record, Object, or class type required
er det en ændring i håndteringen af variabler fra delphi 3 til 2006? og hvordan er det nemmest at rette den?
TLargeInteger findes ikke længere i Delphi, så det er nok der fejlen ligger. Mig bekendt er der dog blot tale om en ganske normal 64-bit integer, så du skal bare benytte Int64 som type i stedet.
En hurtig kontrol af Windows.pas viser at du enten kan erstatte det med de nødvendige bitshift-kommandoer, eller i stedet bruge _LARGE_INTEGER som typen for dine variable.
Wow.. takker det hjalp... så er der bare nogle andre småting jeg lige skal have kigget på.. men du skal have dine point!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.