Visual basic probleem

Pagina: 1
Acties:

  • seadoo
  • Registratie: November 2001
  • Laatst online: 27-03-2022
Hoi luitjes,

Ik heb een probleem met vb6 en ik hoop dat er hier een paar guru's rond zwerven die me ermee kunnen helpen.
ik heb al uren te vergeefs gezocht maar niets kunnen vinden voor dit probleem.

okay.. stel je voor.... ik heb een programma gemaakt in vb6, 3 forms en 1 module (.bas). op mijn xp en me computer doet iet perfect, maar op mijn win98(2de editie) werkt het programma niet (de computer waar hij het juist wel op moet doen, heb het voor die computer geschreven). na lang zoeken weet ik in middels wat het probleem is. in de module heb ik een sub load_cfg gemaakt, en die kan ik niet aanroepen vanuit form1, 2 en 3. ik krijg de foutmelding:"invalid procedure call error#5"
het gekke is dat ie dit alleen doet op mijn win98 computer, en niet op m'n xp en me computer.

ik heb gewoon setup gemaakt met de package and deployment wizard, en toen op de 3 computers geinstaleerd, allemaal op exact de zelfde wijze. daar kan het dus niet aan liggen..

heeft iemand nog suggesties of misschien wel een verklaring??
bvd.

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:30
DLL-Hell denk ik, zoals ze het bij MS zo mooi verwoorden.

Op uw Win'98 zul je van de een of andere DLL een oudere versie ofzo staan hebben dat dat je op die XP/ME computer hebt.

https://fgheysels.github.io/


  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Wat gebeurt er in de Sub load_cfg?

Maak je toevallig gebruik van een API functie?

  • white_panther
  • Registratie: Januari 2001
  • Laatst online: 30-04-2023

white_panther

Campzone here we come....

zorg er inderdaad voor dat de eventueel gebruikte dll bestanden goed functioneren

achja wat zal ik zeggen .................. ik zeg wel niks............... voor de handleiding van dpad klik hier


  • seadoo
  • Registratie: November 2001
  • Laatst online: 27-03-2022
Op woensdag 29 mei 2002 22:46 schreef robjanssen het volgende:
Wat gebeurt er in de Sub load_cfg?

Maak je toevallig gebruik van een API functie?
hier is de hele module:

Option Explicit

Public filename As String
Public gotline(600 To 617) As String, linecounter As Integer
Public startpos(600 To 617) As Integer
Public endpos(600 To 617) As Integer
Public new_cfg As String
Public lengthchar(600 To 617) As Integer
Public startstring(600 To 617) As String
Public linestring(600 To 617) As String

Sub load_cfg()


filename = ("c:\cnc\mcomm.cfg")
linecounter = ("600")
Open filename For Input As 2
Do While Not EOF(2)
Line Input #2, gotline(linecounter)
linecounter = linecounter + 1
Loop
Close #2

For linecounter = 600 To 617
startpos(linecounter) = InStr(gotline(linecounter), "? ") 'reken uit cijfer tot "? "
startpos(linecounter) = startpos(linecounter) + 1 '1 bij optellen voor goede nummer
endpos(linecounter) = Len(gotline(linecounter)) 'kijk wat eindpositie is
lengthchar(linecounter) = endpos(linecounter) - startpos(linecounter) 'wat de variable is
linestring(linecounter) = Right$(gotline(linecounter), lengthchar(linecounter)) 'de variable eruit halen
startstring(linecounter) = Left$(gotline(linecounter), startpos(linecounter))
Next linecounter

End Sub

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

Komt hij helemaal niet in de procedure?
Of loopt hij ergens in de procedure load_cfg vast?

Plaats anders eens een aantal msgbox'en in je code?
Of had je dat al gedaan?

De file staat wel op je win98 computer neem ik aan?

  • seadoo
  • Registratie: November 2001
  • Laatst online: 27-03-2022
Op woensdag 29 mei 2002 22:49 schreef white_panther het volgende:
zorg er inderdaad voor dat de eventueel gebruikte dll bestanden goed functioneren
het zou toch goed moeten zijn, is geinstaleerd met hetzelfde setup programma, dezelfde dll's en ocx-en....(die zitten in de .cab file die ik met de package and deployment wizard gemaakt heb)..

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:30
stap eens met de debugger door uw code, dan zie je de exacte regel waarop hij het probleem geeft.

Tip: en zet uw code rond [code]-tags. Dat maakt het geheel er heel wat leesbaarder op. Zo nodigt het niet echt uit tot lezen.

https://fgheysels.github.io/


  • seadoo
  • Registratie: November 2001
  • Laatst online: 27-03-2022
Op woensdag 29 mei 2002 23:05 schreef whoami het volgende:
stap eens met de debugger door uw code, dan zie je de exacte regel waarop hij het probleem geeft.

Tip: en zet uw code rond [code]-tags. Dat maakt het geheel er heel wat leesbaarder op. Zo nodigt het niet echt uit tot lezen.
in vb ziet het er wel leesbaar uit... schijnbaar heeft ie de tabs niet mee gekopieerd toen ik het hier geplakt heb.
maar in ieder geval, de computer waat ik het programma op geschreven heb, de windows xp computer, daar werkt het programma op, daar geeft hij die foutmelding dus niet, dus het heeft ook geen zin om met de debugger er doorheen te stappen, want alles werkt gewoon naar behoren op deze computer. het is dus alleen de win98 computer waar het programma op zou moeten gaan draaien waar dit probleem zich voordoet.

  • DigiK-oz
  • Registratie: December 2001
  • Laatst online: 21:08
Lijken me inderdaad DLL-problemen, dat package & deployment ding houdt hier erg weinig rekening mee.

Kijk eens (in je .cab file, die die wizard aanmaakt, bijvoorbeeld) welke .DLL files er worden meegeleverd.

Hier zal 1 of meer system DLL's bijzitten waarschijnlijk, controleer op je WIN98 bak of die DLL files inderdaad zijn vervangen door degene van jouw programma (de XP versies dus)?

Ooit eens iets vergelijkbaars gehad, toen was de MSVCRT.DLL file op '98 vervangen door die van XP, allerlei rare problemen. Heb toen die .DLL teruggehaald van de WIN98 CD.

Deze ongein heet dus 'DLL HELL' of zoiets...in XP heeft MS daar iets op gevonden, system file protection. Maar of dat nou altijd goed werkt, dunno...

Kan je (deels) voorkomen door bijvoorbeeld in die package & deployment prog de .DLL's in dezelfde directory te laten zetten als je programma, dus niet in C:\WINDOWS o.i.d.

Whatever


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:30
Op woensdag 29 mei 2002 23:15 schreef seadoo het volgende:


in vb ziet het er wel leesbaar uit... schijnbaar heeft ie de tabs niet mee gekopieerd toen ik het hier geplakt heb.
Inderdaad, juist daarom moet je er code tags rond zetten. Dan komen die tabs enzo wel mee.

https://fgheysels.github.io/


  • Dennis van der Stelt
  • Registratie: Januari 2000
  • Laatst online: 06-09 23:06
Misschien XP rechten? Mag de eigenaar van je programma dat bestand wel inlezen?

En zoveel public variables is ugly zeg! Geef parameters mee man!

Doe maar gewoon, dan doe je al gek genoeg.


  • StratoFarmer
  • Registratie: April 2000
  • Laatst online: 04-09 21:10

StratoFarmer

Anke :*

Op woensdag 29 mei 2002 23:24 schreef dvdstelt het volgende:
Misschien XP rechten? Mag de eigenaar van je programma dat bestand wel inlezen?

En zoveel public variables is ugly zeg! Geef parameters mee man!
Hij heeft juist problemen in Win98, dus rechten lijken mij er niet toe doen in dit geval...

Mijn plekkie + Sympathisant van 'GoT voor Behoud der Nederlandsche Taal' [GvBdNT]


Verwijderd

je hebt 'n hardcoded path in je software zitten, Brrrrr bestaad die dir wel op je client? heb je er rechten op? gooi anders wat messageboxes in je sub zodat je 'n beetje weet waar ie op z'n plaat gaat.

  • seadoo
  • Registratie: November 2001
  • Laatst online: 27-03-2022
Op woensdag 29 mei 2002 23:28 schreef Yarvieh het volgende:
je hebt 'n hardcoded path in je software zitten, Brrrrr bestaad die dir wel op je client? heb je er rechten op? gooi anders wat messageboxes in je sub zodat je 'n beetje weet waar ie op z'n plaat gaat.
nou, hij gaat "op z'n plaat" op het moment dat ik vanuit form1 die sub load_cfg oproep. :)
en nogmaals het probleem doet zich voor in win98, daar heb je dus niets met rechten te maken. de file c:\cnc\mcomm.cfg bestaat. (het is gewoon een txt file)

en even voor de rest die aanmerkingen hebben op mijn ahum "programeer stijl". ik ben nog niet zo lang bezig met programeren. heb een tijdje geleden een boekje gekocht en ben gewoon weg maar gaan experimenteren.
het zal waarschijnlijk niet geprogrameerd zijn op een manier die je op school leert of zoals bedrijven het doen, maar ik ben ook nog maar aan het leren, ik heb nergens gezegd dat ik een expert ben. dus voor eventueel "domme" dingen moeten jullie me het niet kwalijk nemen. ;)

Verwijderd

Op woensdag 29 mei 2002 23:40 schreef seadoo het volgende:
nou, hij gaat "op z'n plaat" op het moment dat ik vanuit form1 die sub load_cfg oproep. :)
Kortom als je op de 1e regel van load_cfg een

messagebox "hello world"

neer propt komt ie er nooit terrecht?! :?

  • seadoo
  • Registratie: November 2001
  • Laatst online: 27-03-2022
Op woensdag 29 mei 2002 23:44 schreef Yarvieh het volgende:

[..]

Kortom als je op de 1e regel van load_cfg een

messagebox "hello world"

neer propt komt ie er nooit terrecht?! :?
juist ja. dat is precies wat ik nu probeer uit te leggen.
op mijn 2 andere computers doet ie het wel, alleen op de win98 computer niet. het is dus alsof hij die hele module niet meer kan vinden, hoewel het gewoon hetzelfde programma is dat ik ook op de 2 andere computers geinstaleerd heb.

  • beany
  • Registratie: Juni 2001
  • Laatst online: 19:15

beany

Meeheheheheh

1 oplossing:

zet VB6 op die win98 bak, en stap er met F8/shift F8 door je code heen.

Wat dan ook kan gebeuren, is dat na de installatie van VB6 de executable die je op je XP machine hebt aangemaakt en gekopieeerd hebt naar de win98 bak het spontaan wel doet. Dan is het dus een DLL probleem achtig iets.

Dagelijkse stats bronnen: https://x.com/GeneralStaffUA en https://www.facebook.com/GeneralStaff.ua


  • KO
  • Registratie: December 2001
  • Laatst online: 12-11-2023

KO

en even voor de rest die aanmerkingen hebben op mijn ahum "programeer stijl". ik ben nog niet zo lang bezig met programeren. heb een tijdje geleden een boekje gekocht en ben gewoon weg maar gaan experimenteren.
het zal waarschijnlijk niet geprogrameerd zijn op een manier die je op school leert of zoals bedrijven het doen, maar ik ben ook nog maar aan het leren, ik heb nergens gezegd dat ik een expert ben. dus voor eventueel "domme" dingen moeten jullie me het niet kwalijk nemen. ;)
Iedereen is een keer begonnen.... :+

Yesterday Is History. Today Is A Gift. Tomorrow Is Mystery


Verwijderd

Het is nooit verstandig om op een 'hoog' OS een setup aan te maken die bedoelt is voor een 'lager' OS. Het beste kun je Setups maken op Windows 95, dan weet je zeker dat alle dll's op een goede manier worden meegenomen.

Succes!

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17:43

Crazy D

I think we should take a look.

Op donderdag 30 mei 2002 09:01 schreef JeroenDega het volgende:
Het is nooit verstandig om op een 'hoog' OS een setup aan te maken die bedoelt is voor een 'lager' OS. Het beste kun je Setups maken op Windows 95, dan weet je zeker dat alle dll's op een goede manier worden meegenomen.
Of je zorgt ervoor dat je een goede setup bakker gebruikt. Ik gebruik zelf meestal windows installer (zo van de MS site te plukken) en die maakt gebruik van merge-modules, zodat je niet afhankelijk bent van de versies die jijzelf hebt geinstalleerd staan, maar dan lever je de versies mee zoals MS ze heeft samen gesteld (niet dat dat altijd perfect loopt maar iig beter... ;))

Exact expert nodig?

Pagina: 1