Chyba ve Visual Basic 6 "Postup je příliš velký"

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

macho03
nováček
Příspěvky: 11
Registrován: leden 12
Pohlaví: Muž
Stav:
Offline

Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod macho03 » 25 led 2012 10:36

ahoj,
potřeboval bych poradit jak oblbnout Visual basic 6 jelikož potřebuji více prostoru a on mi hlásí u ovl. prvku COMBO chybu
"Postup je příliš velký" ="procedure too large"tak teď řešim jak to dokončit jelikož bych potřeboval mnohonásobně více prostoru..
Díky za odpovědi...

Reklama
Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: prosinec 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod Ellrohir » 25 led 2012 14:22

budeš muset přijít na způsob jak tu proceduru rozdělit na víc menších a nebo na jiný způsob řešení, protože narážíš na technické limity jazyka VB6, který ti prostě víc nedovolej (viz http://msdn.microsoft.com/en-us/library/Aa240819)

hoď sem kdyžtak buďto celej kód nebo aspoň ideu toho, co to má dělat, a můžem se podívat, co by se s tím dalo dělat ;)
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."

macho03
nováček
Příspěvky: 11
Registrován: leden 12
Pohlaví: Muž
Stav:
Offline

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod macho03 » 25 led 2012 21:35

Jde o ovl. prvek COMBO a je to podmínka uvedu příklad: když v COMBO1 bude "OVOCE" tak COMBO2 bude obsahovat
např. "jablko","hruška","Švestka" a potom další podmínky třeba zeleniny atd... Tak teď už jsem v 1. třetině a zjistil jsem že VB má tyhle limity... :wink:
Ono by to asi bylo nuda programovat kdyby se nenašly nějaký ty překážky.. :-) Máš představu o jaký princip jde ?
Vlastně to vázne na tom že těch položek v COMBO 2 už je hodně.. :crazy:

Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: prosinec 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod Ellrohir » 25 led 2012 23:52

tak jako první navrhuju napsat si funkce typu vratOvoce(), vratZeleninu(), do nich narvat jednotlivý možnosti pro COMBO2 podle daný třídy prvků a na základě výběru z COMBO1 volat tu kterou funkci...tím to budeš mít rozdělený na menší kousky a už by to mohlo projít ;)
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."

macho03
nováček
Příspěvky: 11
Registrován: leden 12
Pohlaví: Muž
Stav:
Offline

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod macho03 » 26 led 2012 09:49

Posílám kousek kódu .. Jelikož nevím jak tam vytvořit tu funkci na vracení hodnoty.. Na jednotlivou kolonku se totiž vypisují
ještě kolonky LAbel a provádí se i výpočty..Díky


Kód: Vybrat vše

 Private Sub Combo1_Click()
If Combo1 = "Banány" Then Label11 = "1790"
 If Combo1 = "Banány" Then Label12 = Round(1.79 * Val(Text1.Text), 0)
 If Combo1 = "Banány" Then Label13 = "6,0"
 If Combo1 = "Banány" Then Label14 = Round(0.006 * Val(Text1.Text), 1)
 If Combo1 = "Banány" Then Label15 = "1,0"
 If Combo1 = "Banány" Then Label16 = Round(0.001 * Val(Text1.Text), 1)
 If Combo1 = "Banány" Then Label17 = "104,0"
 If Combo1 = "Banány" Then Label18 = Round(0.104 * Val(Text1.Text), 1)
End Sub
Private Sub Combo14_Click()
 Combo1.Clear
If Combo14 = "  OVOCE ČERSTVÉ  " Then Combo1.AddItem "Banány"
End Sub
Private Sub Form_Load()
    Combo14.AddItem "  OVOCE ČERSTVÉ  "
End Sub

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod CZechBoY » 26 led 2012 18:16

tenhle kod je úplně normální...
samozřejmě nechápu ty Ify, to je zbytečnost - přepsat to můžeš (musíš) takhle:
VB6 píše:If Combo1 = "Banány" Then
Label11 = "1790"
Label12 = Round(1.79 * Val(Text1.Text), 0)
Label13 = "6,0"
Label14 = Round(0.006 * Val(Text1.Text), 1)
Label15 = "1,0"
Label16 = Round(0.001 * Val(Text1.Text), 1)
Label18 = Round(0.104 * Val(Text1.Text), 1)
End If
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

macho03
nováček
Příspěvky: 11
Registrován: leden 12
Pohlaví: Muž
Stav:
Offline

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod macho03 » 26 led 2012 21:43

ok... Díky za dobrý tip...

Jen teď řeším hlavně to že to musim nějak rozdělit na více menších prvků aby mi to ten Visual Basic pochopil a nic mě už nenapadá..

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1970
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod domitea » 26 led 2012 21:51

A co zkusit něco jiného, než visual basic 6? je už i VB .NET

Uživatelský avatar
Ellrohir
nováček
Příspěvky: 49
Registrován: prosinec 11
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod Ellrohir » 26 led 2012 22:21

tak neznám sice VB6, třeba to tam tak nejde...ale idea toho co jsem navrhoval prve:

původní kód

Kód: Vybrat vše

If Combo1 = "Banány" Then
Label11 = "1790"
Label12 = Round(1.79 * Val(Text1.Text), 0)
Label13 = "6,0"
Label14 = Round(0.006 * Val(Text1.Text), 1)
Label15 = "1,0"
Label16 = Round(0.001 * Val(Text1.Text), 1)
Label18 = Round(0.104 * Val(Text1.Text), 1)
End If


změnit na

Kód: Vybrat vše

If Combo1 = "Banány" Then
ProceduraNastavujiciLabely
End If


a někde separátně udělat "ProceduruNastavujiciLabely" a do jejího těla strčit

Kód: Vybrat vše

Label11 = "1790"
Label12 = Round(1.79 * Val(Text1.Text), 0)
Label13 = "6,0"
Label14 = Round(0.006 * Val(Text1.Text), 1)
Label15 = "1,0"
Label16 = Round(0.001 * Val(Text1.Text), 1)
Label18 = Round(0.104 * Val(Text1.Text), 1)


tím si to hezky rozsekáš na menší procedury, z nichž už by pak žádná neměla přesahovat ten velikostní limit...

pokud tohle nejde v VB6 udělat (např. proto, že pak ta procedura nebude vědět, co jsou Label1 - Label8), tak mě někdo zaražte... :roll:
"Zprávy mají velikost, třeba i nulovou, a mají nějaký význam, třeba i žádný."

macho03
nováček
Příspěvky: 11
Registrován: leden 12
Pohlaví: Muž
Stav:
Offline

Re: Chyba ve Visual Basic 6 "Postup je příliš velký"

Příspěvekod macho03 » 27 led 2012 20:37

Myslíš to tak jakoby udělat několik globálních proměnných jako nastavujici 1 nebo nastavujici 2 a postupně je vypisovat? otázka ještě jak a kam to "separátně" vepsat.. potřebuju hlavně pro ty COMBA ubrat příkazy ať se mi jich tam vleze asi 4x víc..


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Visual studio 2022 Příloha(y)
    od Tondaaaa » 06 říj 2024 20:03 » v Vše ostatní (sw)
    3
    3353
    od faraon Zobrazit poslední příspěvek
    08 říj 2024 19:33
  • Kllavessnice - velky problem POMOC !
    od baryonnan » 26 úno 2025 09:55 » v Problémy s hardwarem
    18
    5732
    od pcmaker Zobrazit poslední příspěvek
    28 úno 2025 15:22
  • Chyba CPU na desce
    od petan320 » 24 bře 2025 15:29 » v Problémy s hardwarem
    16
    7621
    od petr22 Zobrazit poslední příspěvek
    02 dub 2025 21:50
  • Chyba hardware. Příloha(y)
    od Steage7717 » 10 lis 2024 16:29 » v Problémy s hardwarem
    4
    3253
    od Steage7717 Zobrazit poslední příspěvek
    12 lis 2024 18:49
  • Win11: Chyba 0x0000185
    od Speed_dead » 17 čer 2024 08:04 » v Windows 11, 10, 8...
    22
    9649
    od Speed_dead Zobrazit poslední příspěvek
    16 srp 2024 10:20

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti