Autor Téma: Econverterror  (Přečteno 598 krát)

Offline Delfin

  • Guru
  • *****
  • Příspěvků: 1367
  • Karma: 57
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:Econverterror
« Odpověď #15 kdy: 18-07-2018, 13:03:09 »
Ostatne, ta chyba mohla vzniknout pomerne snadno. Pokud doslo alespon jednou k vyjimce, zdrojovy soubor se prepsal obsahem v bloku vyjimky, kde vsak chybi polozky delaytext1 a delaytext2 (a prazdny retezec zkratka nelze prevest na ciselnou hodnotu, pro tento pripad se vyvola vyjimka EConvertError):

Kód: Delphi [Vybrat]
  1. except
  2.   Rewrite(fPreset);
  3.   writeln(fPreset, homeadr);
  4.   writeln(fPreset, booltostr(flagNocalc));
  5.   writeln(fPreset, booltostr(flagNocalc2));
  6.   writeln(fPreset, booltostr(flagNejist));
  7.   writeln(fPreset, booltostr(flagImpyPodleCfg));
  8.   writeln(fPreset, booltostr(flagArchPost));
  9.   writeln(fPreset, port);
  10.   // tady chybi delaytext1 a delaytext2
  11. end;

Lobbovat za lepsi reseni (napr. strukturovany konfiguracni soubor) tady nebudu :-X :)
« Poslední změna: 18-07-2018, 13:16:15 od Delfin »
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 134
  • Karma: 1
    • Verze Delphi: D5 Enterprise, D2009
Re:Econverterror
« Odpověď #16 kdy: 18-07-2018, 13:28:56 »
Tak toto je v tom textaku:

D:\Vyvoj\Mer2014_D2009_beta\AKCE\
-1
-1
-1
-1
0
COM19
300
900
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline Delfin

  • Guru
  • *****
  • Příspěvků: 1367
  • Karma: 57
  • SW konzultant
    • Verze Delphi: 2009, Tokyo
Re:Econverterror
« Odpověď #17 kdy: 18-07-2018, 13:39:04 »
Tak toto je v tom textaku:

D:\Vyvoj\Mer2014_D2009_beta\AKCE\
-1
-1
-1
-1
0
COM19
300
900

Zkus zpomalit. Soubor podle kodu ctes z cesty c:\temp\Merimp.txt, sem jsi postnul nazev adresare D:\Vyvoj\Mer2014_D2009_beta\AKCE\. Jedno muzu rict s urcitosti, k vyvolani vyjimky jenz jsi v uvodu zminil (tedy alespon tak jak jsem prispevek pochopil):

Exception class EConvertError with message ''-' is not a valid integer value'.

staci konverze znaku "-" na integer:

Kód: Delphi [Vybrat]
  1. StrToInt('-');
« Poslední změna: 18-07-2018, 13:45:07 od Delfin »
I'm a soldier, so don't panic! I know the underground! I like WTFPL license! No more Google, go duck, go!

Offline našinec

  • Hrdina
  • ****
  • Příspěvků: 387
  • Karma: 5
Re:Econverterror
« Odpověď #18 kdy: 18-07-2018, 14:38:45 »
Když použiješ 1023, tak to funguje?

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 134
  • Karma: 1
    • Verze Delphi: D5 Enterprise, D2009
Re:Econverterror
« Odpověď #19 kdy: 18-07-2018, 22:10:45 »
Delfín má pravdu.
Protože položky delaytext1 a 2 jsem dodělával později, zapomněl jsem jejich zápis dát do výjimky. Dokud to bylo na jednom počítači, kde už úplný soubor merimp.txt na céčku existoval, vše bylo OK. Na počítači s W10 tento soubor ještě neexistoval, a založila ho sekce výjimky, ale nezapsala tam delaytext1 a 2. A potom při čtení došlo k výjimce při pokusu číst za koncem souboru. 
Jenom nevím, proč jako první nevyskočila hláška čtení za koncem souboru a rovnou to skočilo na econverterror.

Takže vyřešeno, díky všem a hlavně delfínovi.

Dalik.
Dalibor (D2009 Enterprise, dřív D5Enterprise)

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Datový typ v Delphi, který má True a False: