Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 13. 9. 2018 13:01:55

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Problémy s Basicem po aktualizaci W7

Včera 12.9.2018 jsem povolil aktualizace pro W7. Trvalo to asi hodinu. Po aktualizaci se začala chovat jinak makra. Popis mého systému :


Verze: 6.0.6.2 (x64)
ID sestavení: 0c292870b25a325b5ed35f6b45599d2ea4458e77
Vlákna CPU: 2; OS: Windows 6.1; Vykreslování UI: výchozí;


S hrůzou jsem zjistil, že nechodí prověřená makra. Zjistil jsem zatím pouze skutečnost týkající se deklarací proměnné iterátoru cyklu For...Next.

For iCount = 0 To 10
......

Next i

     Proměnné typu iCount se musí předem deklarovat. Toto jsem viděl u starších maker, ale nejméně 8 let takové deklarace nebylo potřeba. Tyto proměnné nebylo potřeba deklarovat ani při Option Explicit.


     Pokud se setkáte s Chybou použijte klasickou deklaraci :
Dim iCount as integer, nebo podobně před cyklem který hází chybu.

Editoval neutr (14. 9. 2018 05:23:28)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#2 14. 9. 2018 12:17:58

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Problémy s Basicem po aktualizaci W7

Máte chybu v té ukázce kódu, ale zde to máte zřejmě jen pro ukázku. Má tam tedy být

Next iCount

Já Win7 aktualizovaný nemám, ale nedivil bych se. Ono v ajťáctví už by se bohužel klidně dalo psát: Diagnóza: windows :-(.


Zkoušel jsem smyčku

for i=0 to 10
...
next i

s Option Explicit a hodilo mi to chybu pro nedefinovanou proměnnou i, že
BASIC - chyba při běhu.
Nedefinovaná proměnná.


Co si tak vybavuji tak s Option Explicit mi to při nedeklaraci počítací proměnné ve smyčce For...Next házelo tuto chybu za nějaké asi poslední dva roky co dělám makra ve Writeru.

Editoval kamlan (14. 9. 2018 15:43:47)

Offline

#3 14. 9. 2018 16:20:52

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Problémy s Basicem po aktualizaci W7

Díky za reakci. Máte pravdu ale to jsem psal z hlavy, takže ve skutečnosti používám jenom "i", nebo "j" a podobně. To iCount je takové klišé když dělám ukázkové kódy. Já jsem to ráno upravoval protože jsem to psal ve spěchu abych nezapoměl. Na chybu jsem přišel až ráno. Původně tam byla ještě chyba "pr Option Explicid" tu jsem opravil a tohle přehlédl.
     S těmi W7 člověk neví. Brzo skončí a aktualizace zřejmě vedou k tomu, aby lidě přešli na W10. Uvedené chování jsem odstranil asi hodinou před tím nežli jsem příspěvek napsal - v jednom modulu jsem používal právě Option Explicit ale do aktualizace to nevadilo.
     Po aktualizaci vyskakovala chyba - nic jsem nepřipisoval ani neupravoval ale napadlo mne, že tohle chování znám z minulosti. Takže jsem to honem napsal spíš jako upozornění, že W7 se chová podivně. Najít příčinu nemusí být jednoduché a tak je rychlejší a jistější použít deklaraci.
     Jde asi také o to, že W7 ani W10 neznám tak jak bych měl znát. Trápil jsem se kvůli starému bugu a bude toho asi víc.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí