Delphi 2010 in DSiGetMyDocumentsFolder

Win32 api funkcije.
Odgovori
beno7
Prispevkov: 6
Pridružen: 08.06.2007 15:30:09

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a beno7 » 24.11.2009 15:13:23

Zdravo,

Iz knjižnice DSiWin32 uporabljam metodo DSiGetMyDocumentsFolder. V D2007 del bp, v D2010 mi pa taista metoda vrne prazen string.
Uporabljam verzijo 1.51.

Kakšna pomoč?

Hvala,
B

Uporabniški avatar
gabr
Prispevkov: 4129
Pridružen: 28.08.2001 14:10:47

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a gabr » 24.11.2009 20:33:05

Popravek je tukaj.

beno7
Prispevkov: 6
Pridružen: 08.06.2007 15:30:09

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a beno7 » 25.11.2009 08:42:10

Hvala gabr!

V D2010 dela ok.
Sem pa opazil, da se v D2007 ne naredi compile:

[DCC Error] DSiWin32.pas(1775): E2003 Undeclared identifier: 'varUString'
[DCC Error] DSiWin32.pas(1837): E2003 Undeclared identifier: 'varUString'
Tole zajambra v ReadVariant in WriteVariant

Hvala!

lp,b

Uporabniški avatar
gabr
Prispevkov: 4129
Pridružen: 28.08.2001 14:10:47

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a gabr » 25.11.2009 09:08:06

Ja, sem opazil tudi jaz - potem ko sem s tem popravkom pokvaril vse naše programe in je build server izpljunil množico jeznih mailov.

Na isti lokaciji je zdaj verzija, ki dela v obeh Delphijih. Če ima kdo pri roki D2009, naj jo prosim preizkusi še tam.

beno7
Prispevkov: 6
Pridružen: 08.06.2007 15:30:09

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a beno7 » 25.11.2009 09:59:21

Hmmm, Sedaj naredi compile OK, ampak mi spet ne dela DSiGetMyDocumentsFolder v D2010. :roll:
lp,
B

ac
Prispevkov: 415
Pridružen: 12.09.2002 13:01:38

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a ac » 25.11.2009 10:08:41

v d2009 pade pri klicu omenjene funkcije na:

Koda: Izberi vse

  function TDSiRegistry.ReadVariant(const name: string; defval: variant): variant;
  begin
    case VarType(defval) of  
First chance exception at $777FFBAE. Exception class Exception with message 'TDSiRegistry.ReadVariant: Invalid value type!'. Process Project2.exe (1080)

Uporabniški avatar
gabr
Prispevkov: 4129
Pridružen: 28.08.2001 14:10:47

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a gabr » 25.11.2009 11:00:27

v d2009 pade pri klicu omenjene funkcije na:

Koda: Izberi vse

  function TDSiRegistry.ReadVariant(const name: string; defval: variant): variant;
  begin
    case VarType(defval) of  
First chance exception at $777FFBAE. Exception class Exception with message 'TDSiRegistry.ReadVariant: Invalid value type!'. Process Project2.exe (1080)
Kakšno vrednost ima VarType(defval)?

ac
Prispevkov: 415
Pridružen: 12.09.2002 13:01:38

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a ac » 25.11.2009 11:31:56

258, torej varUString (Unicode string 258 )

lp, anze

Uporabniški avatar
gabr
Prispevkov: 4129
Pridružen: 28.08.2001 14:10:47

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a gabr » 26.11.2009 09:24:15

Zdaj je na istem naslovu verzija, ki menda dela v 2007, 2009 in 2010.

beno7
Prispevkov: 6
Pridružen: 08.06.2007 15:30:09

Delphi 2010 in DSiGetMyDocumentsFolder

Odgovor Napisal/-a beno7 » 26.11.2009 19:24:43

gabr, hvala.
dela bp.

lp, b

Odgovori