Avatar billede zorkmontana Nybegynder
28. juni 2006 - 20:09 Der 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?
Avatar billede pidgeot Nybegynder
28. juni 2006 - 23:45 #1
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.
Avatar billede pidgeot Nybegynder
28. juni 2006 - 23:48 #2
Ved nærmere eftersyn findes den alligevel endnu, men den lader til at være mappet til Int64.

Den skulle være defineret i Windows-unit'en, så check om denne er i din uses.
Avatar billede zorkmontana Nybegynder
29. juni 2006 - 12:06 #3
yes nu giver den ikke nogen fejl på den men en fejl på linierne med:
p.lowpart og p.highpart
og den giver samme fejl...
Avatar billede pidgeot Nybegynder
29. juni 2006 - 12:36 #4
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.
Avatar billede zorkmontana Nybegynder
29. juni 2006 - 14:06 #5
Wow.. takker det hjalp...
så er der bare nogle andre småting jeg lige skal have kigget på.. men du skal have dine point!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester