Procedure too long

Status
Niet open voor verdere reacties.

retsech

Gebruiker
Lid geworden
16 mei 2008
Berichten
95
Hi,

Ik krijg tijdens het compilen/testen van mijn programma een "Procecure too long" error.
Mijn software eist heel veel code lijnen in een module. Ik ben direct op google opzoek gegaan naar oplossingen hierover en ze hadden het over het splitten van de code lijnen. Een call functie om je codes te heroepen vanuit een andere module? Klinkt goed ^^ Maar...
Kan iemand me uitleggen hoe dit precies werkt?

Ik zal je echt heel erg grateful zijn ^^
 
WHOW :p

ik weet niet wat voor code je gebruikt... maar waarschijnlijk zijn het verschillende functies?
Zo ja, haal er gewoon een paar uit en plak ze in een nieuwe module. Zo heb je dus je module 'gesplit'. Als je de functies public maakt zal er geen probleem zijn!

normaals, wat voor code gebruik je echt? :p


V. :thumb:
 
Ja... Ik ben bezig met een zeer uitgebreide software met verschillende functies. Ik ben namelijk bezig met een online community en dus heb ik veel codes nodig zoals chatten, lopen enz...

Zo verstuur je via microsoft winsock: senddata ("/TEST")

en dan zet ik in m'n module;

If UCase$(Left$(Rdata, 5)) = "/TEST" Then
Rdata = Right$(Rdata, Len(Rdata) - 5)

msgbox "hij doet het"

End If

Het is wel wat gecompliceerder dan DAT, zoals bij het begin van de module;

Sub HandleData(Rdata As String)
Dim LoopC As Integer
Dim Arg1 As String
Dim Arg2 As String

....Nou, ik ben nog een n00b met controls enz, just iemand die aan het knoeien is met van alles.

Als ik zomaar die if ucase scripts in een nieuwe module zet werkt hij niet... Dus heb je een idee hoe ik met deze om zou moeten gaan? Om het te splitsen?

p.s, wat is een bericht typen op dit forum lastig :S ik moet speciaal het in notepad schrijven en plakken. Ligt het aan m'n browser of..?
 
ja, ik heb hier gewoon een advanced opmaak dingetje.


over je code - je kan gewoon wat functies *nesten* (ja ik weet dat het de verkeerde term is) bijvoorbeeld lange cases.
voorbeeld:
Code:
[COLOR="seagreen"](...) code[/COLOR]

select case sString
case "bla"
   sTest = "string was bla"
case "b00n"
   sTest = "string was b00n"
[COLOR="seagreen"]'case meeronzin
'   sTest = meercrack[/COLOR]
end case

[COLOR="SeaGreen"](...) code[/COLOR]
kan je omschrijven tot
Code:
[COLOR="seagreen"](...) code[/COLOR]

sTest = SubFunction(sString)

[COLOR="seagreen"](...) code[/COLOR]



[COLOR="seagreen"]'////// in de andere module:[/COLOR]
Public function SubFunction(sInput as string) as string
select case sInput
case "bla"
   SubFunction= "string was bla"
case "b00n"
   SubFunction= "string was b00n"
[COLOR="seagreen"]'case meeronzin
'   SubFunction= meercrack[/COLOR]
end case
end function

hope_it_helps,

V.:thumb:
 
Laatst bewerkt:
Ik snap het niet zo helemaal. Ik heb een of ander wat geprobeerd met die code maar ik wordt er niet echt wijzer van. Srry,

Iets duidelijkere uitleg?
 
nou, stel je voor dat je een lange select-case hebt met maar 1 invoer en 1 uitvoer string.
zoals:
Code:
select case sString
case "bla"
   sTest = "string was bla"
case "b00n"
   sTest = "string was b00n"
case "onzin"
   sTest = "stringw as onzin"
end case
[COLOR="SeaGreen"]'(...) maar dan langer[/COLOR]
Dan is de enige invoer dus sString, en de enige uitvoer is sTest.

Deze code kan je dan in een aparte functie schrijven. De functie zelf kan dan de uitvoer zijn - zoiets:
Code:
Public function DitIsEenTest(Input as string) as string
[COLOR="seagreen"]   '(...) code[/COLOR]
end function


Zo beter te snappen?
 
Nog niet helemaal,
Maar, ik heb al een andere manier gevonden. Still, thanks :)
 
Nou, ik snap me eigen code soms niet ^^

Ik kopieeerde in mijn module het begin en zette het in de nieuwe. Inplaats van Handledata deed ik Handledata 2...

Mijn pakketjes in m'n game reageren op de ucase "Rdata", dus welke handledata ik ook heb, dus......... ^^

Ik denk niet dat veel proggies hier wat aan hebben tenzij je veel met netwerk enz bezig bent.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan