[vb6] Out of memory bij het maken van de exe

Pagina: 1
Acties:

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
Hoi, tijdens het maken van een programma maak je natuurlijk regelmatig exe files om te testen. Dit is altijd goed gegaan en nu gaat vb na het compilen bij het wegschrijven van de EXE onderuit. En geeft de error Out of Memory, runtime error 7. Het stuk code waar VB op blijft hangen is alleen nooit gewijzigd meer. Hoe kan dit dan? Als ik in het taak beheer kijk is er nog ruimte voldoende over in het geheugen.

Ik weet niet of het zinvol is om in dit geval een stukje code hier neer te gooien maar ik doe het toch maar even misschien heeft iemand er iets aan:

Op regel 9 gaat VB onderuit.
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
' Maak een nieuwe tab aan met de meegegeven parameter als tekst.
Private Sub createTab(ByVal tabString As String)
    Dim newIndex As Integer
    Dim t As Integer        ' Top value
    
    ' Maak de nieuwe label
    
    newIndex = instellingTabLabel.Count
    Load instellingTabLabel(newIndex)
    instellingTabLabel(newIndex).caption = tabString
    
    t = nextTop
    nextTop = nextTop + 4 + insTab(0).Height
    
    instellingTabLabel(newIndex).Top = t + 2

    ' Maak de nieuwe Image
    Load instellingTab(newIndex)
    instellingTab(newIndex).Top = t

    ' Laat de nieuwe tab zien
    instellingTab(newIndex).Visible = True
    instellingTabLabel(newIndex).Visible = True
End Sub


instellingTabLabel.Count heeft de waarde 18 dus ik kan me niet voorstellen dat dat voor VB teveel is.

De beste hit die iktrouwens hier gevonden heb is deze:
[rml][ VB6] Creatie van Exe gaat fout[/rml]
Alleen ik kwam hier nie verder mee

[ Voor 7% gewijzigd door TwoR op 20-09-2004 14:21 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Bevat je app veel resources als plaatjes e.d.? Hoe groot was de vorige .exe? Hoe groot is het project? Heb je meer relevante info? Met dit kleine stukje kunnen we denk ik niet veel.

Is je VB ook bijgewerkt met de laatste servicepacks? (pas wel effe op met SP6, maar dat wist je al O-) )

Overigens lijkt me het probleem zeker niet in regel 9 te zitten, immers hij zou op z'n vroegst pas tijdens runtime erachter kunnen komen dat 'ie dan te weinig geheugen zou kunnen hebben (en dat is dan nog stug3 :P)

[ Voor 36% gewijzigd door RobIII op 20-09-2004 16:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 21:19

Super_ik

haklust!

dat er nog geheugen over is in je computer is logisch. VB neemt altijd maar een maximum groote in je geheugen en gaat niet tot de max. daarom kun je soms nogal snel tegen deze limiet aan lopen als je veel objecten pas runtime inlaad. :)

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Soms kunnen problemen tijdens het compileren ook wel eens worden veroorzaakt door een fout in 1 van de FRX-bestanden. Heb je toevallig een form met veel controls ? Probeer deze eens te verwijderne uit je project ( natuurlijk wel een backup maken ! ) en compileer dan eens. Mocht het compileren dan wel lukken, vervang dan het desbetreffende form met een recente backup, en maak de aanpassingen dan opnieuw.

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
RobIII schreef op 20 september 2004 @ 16:32:
Bevat je app veel resources als plaatjes e.d.? Hoe groot was de vorige .exe? Hoe groot is het project? Heb je meer relevante info? Met dit kleine stukje kunnen we denk ik niet veel.

Is je VB ook bijgewerkt met de laatste servicepacks? (pas wel effe op met SP6, maar dat wist je al O-) )

Overigens lijkt me het probleem zeker niet in regel 9 te zitten, immers hij zou op z'n vroegst pas tijdens runtime erachter kunnen komen dat 'ie dan te weinig geheugen zou kunnen hebben (en dat is dan nog stug3 :P)
mm inderdaad het ligt aan de plaatjes ik heb er 3 kleine plaatjes uitgemikt en nu werkt het weer. Eens even kijken hoe ik dit moet oplossen. het zijn namelijk 3 dezelfde plaatjes. :(
die update die wist ik wel die had ik al geinstalleerd. Eens kijken hoe ik dit moet oplossen. Hier komt een normaal persoon toch ook niet op het zijn 3 kleine gifjes van 20x20 pixels. Bedankt voor deze tip in iedergeval. Mocht iemand een oplossing voor deze plaatjes weten hoor ik dat graag.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Gebruik een resourcefile en combineer dat met loadresdata en loadpicture... Dat zou volgens mij moeten werken...

[ Voor 27% gewijzigd door RobIII op 20-09-2004 21:40 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
he die kende ik nog niet bedantk voor de tip over die recourcefile het werkt wel mooi. Alleen is het niet de oplossing voor mijn probleem ik blijf de melding Out of Memory krijgen :(

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TwoR schreef op 21 september 2004 @ 11:58:
[...]

he die kende ik nog niet bedantk voor de tip over die recourcefile het werkt wel mooi. Alleen is het niet de oplossing voor mijn probleem ik blijf de melding Out of Memory krijgen :(
Dan moet je het, volgens mij, toch redelijk dol hebben gemaakt. Weet je zeker dat er geen zooi in zit die je kunt schrappen? En anders bak je de plaatjes niet bij je .exe in, maar gooi je ze in een dir (app.path & "/images") ofzo en laad je ze dynamisch (dan hoeven ze dus niet in je .exe te zitten) met loadpicture(app.path & "/images/myimg.bmp").

[ Voor 8% gewijzigd door RobIII op 21-09-2004 12:15 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
RobIII schreef op 21 september 2004 @ 12:14:
Dan moet je het, volgens mij, toch redelijk dol hebben gemaakt. Weet je zeker dat er geen zooi in zit die je kunt schrappen? En anders bak je de plaatjes niet bij je .exe in, maar gooi je ze in een dir (app.path & "/images") ofzo en laad je ze dynamisch (dan hoeven ze dus niet in je .exe te zitten) met loadpicture(app.path & "/images/myimg.bmp").
Er zijn inderdaad ook al een aantal buttons die op die manier geladen worden. Ik heb nu alles in de Resource file gezet en het werkt wel maar lost niks op.

Zo dol heb ik het volgens mij niet gemaakt. Er komen op sommige forms wel wat plaatjes maar die zijn allemaal hetzelfde en worden allemaal uit de resource gehaald. Als ik bijvoorbeeld een form helemaal verwijder waar wel een aantal plaatjes opzitten kan die ineens wel compilen. Laad ik dat form erin staan en gooi alle plaatjes eruit krijg ik alsnog een out of memory melding.

De laatste compile was ongeveer 1.5 Mb en de code is in totaal ongeveer 5mb dus het lijkt me dat VB dat nog wel aan zou moeten kunnen

* TwoR gaat weer verder stoeien

[ Voor 9% gewijzigd door TwoR op 21-09-2004 12:44 ]


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
TwoR schreef op 21 september 2004 @ 12:27:
[...]
Als ik bijvoorbeeld een form helemaal verwijder waar wel een aantal plaatjes opzitten kan die ineens wel compilen. Laad ik dat form erin staan en gooi alle plaatjes eruit krijg ik alsnog een out of memory melding.
Er is dus iets in dat form waar VB op klapt. Hoeveel forms gebruik je in totaal?
Check ook eens je project en componenet references. Wellicht verwijst het form nog naar een DLL/OCX die niet op je systeem aanwezig is. Heb zelf ook wel eens soortgelijke problemen gehad. De tip van FFrenzy om de FRX files te checken zou ik ook ter harte nemen.
De FORM files (FRM files) kun je overigens gewoon in notepad openen. Wellicht dat je daarin nog rare dingen tegenkomt.

It’s nice to be important but it’s more important to be nice


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
JonkieXL schreef op 21 september 2004 @ 12:51:
[...]

Er is dus iets in dat form waar VB op klapt.
Dat denk ik niet aangezien het niet uitmaakt welk form ik weg doe om het te laten werken
Hoeveel forms gebruik je in totaal?
13 Forms
13 Classes
7 user Controls
1 related document
Check ook eens je project en componenet references. Wellicht verwijst het form nog naar een DLL/OCX die niet op je systeem aanwezig is. Heb zelf ook wel eens soortgelijke problemen gehad.
Volgens mij heeft het form alle benodigede DLL en OCX-en omdat er in de runtime niks verkeerd gaat en omdat ie alles wel kan compilen.
De tip van FFrenzy om de FRX files te checken zou ik ook ter harte nemen.
Ben eerlijk gezegt niks vreemds tegen gekomen.
De FORM files (FRM files) kun je overigens gewoon in notepad openen. Wellicht dat je daarin nog rare dingen tegenkomt.
Bedankt voor de tip ik zal daar nog eens naar kijken
Niks gevonden

* TwoR word gek

[ Voor 3% gewijzigd door TwoR op 21-09-2004 13:16 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je kunt ook een aantal forms in een user-control gooien als "test/nood" oplossing. Compileer die in een aparte OCX/DLL en probeer dan nog eens het hele project.

Overigens vind ik het wel gek dat je project gecompiled 1.5Mb(!!) is met 13forms, 13 classes en 7 user controls. Ergens heb ik het gevoel dat 't best veel is.

Ik heb projecten met 100+ forms, 300+ classes en 50+ usercontrols gemaakt, en nooit geen problemen gehad (wel deel ik mijn projecten altijd op in deelprojecten waarin ik dus losse dll's en ocx-en maak).

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

RobIII schreef op 21 september 2004 @ 13:33:
Je kunt ook een aantal forms in een user-control gooien als "test/nood" oplossing. Compileer die in een aparte OCX/DLL en probeer dan nog eens het hele project.

Overigens vind ik het wel gek dat je project gecompiled 1.5Mb(!!) is met 13forms, 13 classes en 7 user controls. Ergens heb ik het gevoel dat 't best veel is.

Ik heb projecten met 100+ forms, 300+ classes en 50+ usercontrols gemaakt, en nooit geen problemen gehad (wel deel ik mijn projecten altijd op in deelprojecten waarin ik dus losse dll's en ocx-en maak).
Bij mij 130 Forms en ongeveer de zelfde hoeveelheid classes. Geen OCX of DLL. En er komt een 7 Mb exe file uit.

Dus ik denk niet dat de hoeveelheid forms of classes het probleem veroorzaakt.

Programmer - an organism that turns coffee into software.


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
nee inderdaad, lijkt me ook geen probleem.
Is er ergens in VB een mogelijkheid om hem meer geheugen toe te kennen?

Als ik bij het laden van het programma bijvoorbeeld wat code weglaat waar die bijvoorbeeld een een DB access aanmaakt om wat menu items goed te zetten werkt het al. Het ligt op de een of andere manier denk ik toch aan de buffers van VB ofzo dat die vol lopen.

Als ik een Exe wil gaan maken dan word mijn wisselbestand maar 3 Mb groter dus daar kan VB toch niet moeilijk over doen.

[ Voor 15% gewijzigd door TwoR op 21-09-2004 13:49 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TwoR schreef op 21 september 2004 @ 13:41:
nee inderdaad, lijkt me ook geen probleem.
Is er ergens in VB een mogelijkheid om hem meer geheugen toe te kennen?

Als ik bij het laden van het programma bijvoorbeeld wat code weglaat waar die bijvoorbeeld een een DB access aanmaakt om wat menu items goed te zetten werkt het al. Het ligt op de een of andere manier denk ik toch aan de buffers van VB ofzo dat die vol lopen.

Als ik een Exe wil gaan maken dan word mijn wisselbestand maar 3 Mb groter dus daar kan VB toch niet moeilijk over doen.
Bij mijn weten kun je niet erg veel "tweaken" aan de VB6 compiler. Ik zou het probleem toch echt eens ergens anders gaan zoeken (kwestie van dingen weglaten en toevoegen e.d. totdat je weet waar 't aan ligt).
Verder heb ik nog geen antwoord gezien op mijn vragen wat betreft Service Packs en dergelijken. Hoe staat het daar mee?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
RobIII schreef op 21 september 2004 @ 13:51:
[...]

Bij mijn weten kun je niet erg veel "tweaken" aan de VB6 compiler. Ik zou het probleem toch echt eens ergens anders gaan zoeken (kwestie van dingen weglaten en toevoegen e.d. totdat je weet waar 't aan ligt).
Verder heb ik nog geen antwoord gezien op mijn vragen wat betreft Service Packs en dergelijken. Hoe staat het daar mee?
TwoR schreef op 20 september 2004 @ 21:07:
.... die update die wist ik wel die had ik al geinstalleerd ....
En wat wilde je nog meer weten volgens mij weet je alles waar je om vroeg "grootte vorige exe, grote project"
TwoR schreef op 21 september 2004 @ 12:27:

De laatste compile was ongeveer 1.5 Mb en de code is in totaal ongeveer 5mb dus het lijkt me dat VB dat nog wel aan zou moeten kunnen
Kwestie van dingen weg laten inderdaad. Maar het maakt niet uit wat er weggelaten word. Als ik een form weglaat werkt het goed, maar laat ik een ander form weg (willekeurig welke) werkt het ook, oftewel het werkt altijd als er een form weg is. En ik kan me niet voorstellen dat ik zo slecht programmeer dat ieder form slecht is. Als ik binnen VB het project Run is er ook helemaal niks aan de hand en loopt het erg goed zelfs.

* TwoR begint hopeloos te worden.

[ Voor 11% gewijzigd door TwoR op 21-09-2004 14:00 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Al eens CTRL-F5 geprobeerd in de VB IDE? Ik weet 't anders ook niet meer :?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Je zou altijd kunnen proberen om je project via de commandline te kunnen compilen en dus niet via de IDE. Heb je je foutmelding al door Google gegooid?

It’s nice to be important but it’s more important to be nice


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
RobIII schreef op 21 september 2004 @ 13:58:
Al eens CTRL-F5 geprobeerd in de VB IDE? Ik weet 't anders ook niet meer :?
CTRL- F5 is geen probleem :'(
JonkieXL schreef op 21 september 2004 @ 14:00:
Je zou altijd kunnen proberen om je project via de commandline te kunnen compilen en dus niet via de IDE. Heb je je foutmelding al door Google gegooid?
Via de command compilen zal ik eens proberen nog nooit gedaan namelijk. Ja op google vind je erg veel meldingen over out of memory maar niks dat tot de oplossing lijd

Andere PC werkt ook niet

[ Voor 56% gewijzigd door TwoR op 21-09-2004 14:02 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
...pfff....
En op een andere PC, wat doet 'ie daar? Herinstall VB? Herinstall Windows + VB?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

quote van een website.
Error 7 Out of Memory and I have 512 MB of Ram!
The best explaination for this error is from the Core VB 5 Book: "An Out of Memory" error does not necessarily mean your application has run out of memory. It is possible for VBA to return this generic error because it cannot determine a more appropriate error. You still need to find out the cause for the error in your code, but you should not try to figure out why your system is low on memory when there is a very good chance that the error has nothing to do with memory."
Helaas bieden ze geen oplossing wat het dan wel kan zijn...

Programmer - an organism that turns coffee into software.


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
LuCarD schreef op 21 september 2004 @ 14:11:
quote van een website.

[...]


Helaas bieden ze geen oplossing wat het dan wel kan zijn...
inderdaad die melding geven ze inderdaad wel vaker als er niks met memory aan de hand is. Ik had een keer het programma aan de verkeerde DB gekoppeld die miste een tabel en daardoor kreeg ik toen ook die melding.

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
mmm ook het maken van een exe vanuit de command.com werkt niet weer dezelfde foutmelding. De command line die ik heb geprobeerd:

"C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe" \make PTS.vbp

Ik begin zo langzamerhand hopeloos te worden. Vrijdag moet het opgeleverd worden en ik heb geen executable. Degene die hier nog een oplossing voor kan bedenken krijgt eeuwige roem!!!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TwoR schreef op 22 september 2004 @ 11:05:
mmm ook het maken van een exe vanuit de command.com werkt niet weer dezelfde foutmelding. De command line die ik heb geprobeerd:

"C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe" \make PTS.vbp

Ik begin zo langzamerhand hopeloos te worden. Vrijdag moet het opgeleverd worden en ik heb geen executable. Degene die hier nog een oplossing voor kan bedenken krijgt eeuwige roem!!!
• Virusscanners e.d. uit?
• Heb je nou al geprobeerd wat 't op een andere pc doet als je je project daar compiled?
• Heb je al geprobeerd je project op te splitsen in meerdere sub-projecten (dll's en ocx-en)?
• Al een herinstall van VB (inc. servicepacks) geprobeerd?
• Al een herinstall van Windows + VB etc. geprobeerd?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
RobIII schreef op 22 september 2004 @ 11:32:
[...]

• Virusscanners e.d. uit?
Heb ik niet eens :o
Alle overige draaiende programma's heb ik ook gekilled.
• Heb je nou al geprobeerd wat 't op een andere pc doet als je je project daar compiled?
Zoals in paar posts hier boven al staat, al geprobeerd maar geen resultaat
• Heb je al geprobeerd je project op te splitsen in meerdere sub-projecten (dll's en ocx-en)?
Nee, maar kan je er dan daarna wel weer 1 exe van maken ?? En hoe kan je dat dan opsplitsen??
• Al een herinstall van VB (inc. servicepacks) geprobeerd?
Ja op 3 pc's heb ik een herinstall gedaan maar geen resultaat en zowel zonder als met SP geprobeerd.
• Al een herinstall van Windows + VB etc. geprobeerd?
Windows nog niet opnieuw geinstald maar als je op 3 PC's hetzelfde resultaat krijgt waarvan 1 PC de install nog maar een maand geleden is dan kan ik me persoonlijk niet voorstellen dat het daar aan ligt.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Heb je een oude backup van je source code die nog wel compileert?

Wat zijn de verschillen tussen de twee? ( dit kan best wel veel werk zijn, maar je moet toch wat ) :|

Programmer - an organism that turns coffee into software.


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
LuCarD schreef op 22 september 2004 @ 11:43:
Heb je een oude backup van je source code die nog wel compileert?

Wat zijn de verschillen tussen de twee? ( dit kan best wel veel werk zijn, maar je moet toch wat ) :|
ja heb ik, heb hier 300 MB code backup liggen vanaf het begin van het project. en ik heb ook nog wel een versie die wel compileert. Het compileren is gestopt nadat ik een plaatje heb toegevoegd maar als ik die nu weer weghaal dan doet ie het nog niet. Ik zal nog eens kijken of ik de overige updates (behalve die plaatjes) weer in een oud project kan laden.

Het is inderdaad veel werk maar ja beter veel werk dan een niet werkende versie.

[ Voor 7% gewijzigd door TwoR op 22-09-2004 12:03 ]


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

TwoR schreef op 22 september 2004 @ 11:51:
[...]

ja heb ik, heb hier 300 MB code backup liggen vanaf het begin van het project. en ik heb ook nog wel een versie die wel compileert. Het compileren is gestopt nadat ik een plaatje heb toegevoegd maar als ik die nu weer weghaal dan doet ie het nog niet. Ik zal nog eens kijken of ik de overige updates (behalve die plaatjes) weer in een oud project kan laden.
Is misschien iets fout gegaan met de source code tijdens het toevoegen van het plaatje?

Kan je de backup terug zetten, compileren.
ALs dat werkt, het plaatje toevoegen. En dan opnieuw compileren.

Als het dan niet werkt dan kan je het plaatje openen met een editor en op nieuw saven? En dan nogmaals proberen. ( We zijn nu op het punt beland van blind om ons heen slaan en misschien raken we wat! :X )

Programmer - an organism that turns coffee into software.


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
LuCarD schreef op 22 september 2004 @ 12:04:
[...]
Is misschien iets fout gegaan met de source code tijdens het toevoegen van het plaatje?

Kan je de backup terug zetten, compileren.
ALs dat werkt, het plaatje toevoegen. En dan opnieuw compileren.

Als het dan niet werkt dan kan je het plaatje openen met een editor en op nieuw saven? En dan nogmaals proberen. ( We zijn nu op het punt beland van blind om ons heen slaan en misschien raken we wat! :X )
Ik heb niet een backup van de versie waar alleen de plaatjes niet bij inzitten. Als ik een backup terug zet mis ik VEEL meer gegevens.
Kom er net achter dat als ik een control van een form af gooi dat ie het dan alweer compiled. En ik ben ook wel in het stadium beland om blind om heen te gaan slaan alleen zullen mijn collega's dat niet waarderen ;)


Update
oke ik ga helemaal GEK worden ! Its working!!!!

Ik heb 1 plaatje en 1 label verwijderd. En die stond toch nog visible =false die waren voor toekomstige doeleinde en toen deed ie het vraag me niet hoe het kan maar het is gewoon zo ik ben echt helemaal blij !! Iedereen die meegedacht heeft Ongeloofelijk bedankt want ik hbe er wel weer een aantal nieuwe dingen bij geleerd.
_/-\o_ _/-\o_ _/-\o_ _/-\o_ _/-\o_ _/-\o_ voor jullie allen.

Mmm mijn collega heeft er best wat blauwe plekken bij gekregen :D

[ Voor 25% gewijzigd door TwoR op 22-09-2004 12:29 ]


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
:? :? :? :? :? :? :? :? :? Zelfs de werkende versie die ik net had geeft nu weer een Out of Memory, dus ik ben weeer terug bij af ............................ :(

[ Voor 3% gewijzigd door TwoR op 22-09-2004 12:49 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TwoR schreef op 22 september 2004 @ 12:49:
:? :? :? :? :? :? :? :? :? Zelfs de werkende versie die ik net had geeft nu weer een Out of Memory, dus ik ben weeer terug bij af ............................ :(
Zip en mail me dat project eens :+

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
RobIII schreef op 22 september 2004 @ 13:01:
[...]

Zip en mail me dat project eens :+
sorry maar het word een commercieel product dus dat lijkt me nou niet echt een goed idee. Ik had het wel graag gedaan want misschien dat er dan een oplossing zou kunnen komen.

Volgens mij kan je vb6 omzetten naar dotnet zal eens kijken of ik een .net versie kan bemachtigen zodat ik het daarmee eens kan proberen

[ Voor 19% gewijzigd door TwoR op 22-09-2004 14:26 ]


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 21:15

Sponge

Serious Game Developer

VB houdt niet van:
- Veel code in een module
- Veel classes, modules
- Veel forms.

De maximum waarden zijn te vinden op MSDN ergens.

Overigens:

Het is mij ook overkomen dat zulke fouten spontaan ontstaan zijn en nooit meer verdwenen. Dit was echter met DirectX. Ik heb nog nooit kunnen ontdekken waar de fout in zat (had te maken met DX)

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Om code in je project te reduceren zou je ervoor kunnen kiezen stukken code in een aparte ActiveX DLL onder te brengen.

It’s nice to be important but it’s more important to be nice


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
ik heb net even de code overgezet nara vb.net en ik had 252 errors :(

deze heb ik terug weten te werken naar 30 op dit moment alleen ik kom niet uit het volgende probleem:
Visual Basic 6:
1
2
3
4
5
6
7
8
9
If Not initialising Then
        Dim rs As ADODB.Recordset
        Set rs = inputText(Index).dataSource
        If Len(val) = 0 Then
            rs.fields(inputText(Index).DataField).Value = Null
        Else
            rs.fields(inputText(Index).DataField).Value = val
        End If
    End If


Dit heeft ie met het upgraden gewijzigs naar:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
Dim rs As ADODB.Recordset
        If Not initialising Then
            'UPGRADE_ISSUE: VBControlExtender property inputText.dataSource 
is not supported at runtime. Click for more: 'url'
            rs = inputText(Index).dataSource
            If Len(val_Renamed) = 0 Then
                rs.Fields(inputText(Index).AccessibleName).Value = System.DBNull.Value
            Else
                rs.Fields(inputText(Index).AccessibleName).Value = val_Renamed()
            End If
        End If


Maar hoe moet ik de datasource dan setten ?? Ik kan hier geen antwoord over vinden op het net.

[ Voor 7% gewijzigd door TwoR op 23-09-2004 14:04 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TwoR schreef op 23 september 2004 @ 14:02:
ik heb net even de code overgezet nara vb.net en ik had 252 errors :(
<knip>
Dit is sooo not the way to go, maar dat terzijde. Ik zou als ik jou was toch echt je project opdelen in meerdere sub-projecten. Verdiep je daar nou maar in, dat spaart veel tijd uit (voor dit project). Ga je in .Net aan de slag, begin dan met een schone lei.

[ Voor 56% gewijzigd door RobIII op 23-09-2004 15:05 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
oke bedankt voor de tip daar was ik ook al een beetje achter gekomen. Maar kan je me een kleine tip geven hoe ik een project opdeel in sub onderdelen

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
File -> Add project :?
En dan in je project explorer effe het juiste project als startup-project instellen.
Als ik jou was stopte ik wat algemeen spul in een ActiveX-DLL of OCX en die dan dus apart bakken/compilen. Moet ik effe een voorbeeldje flansen?

[ Voor 10% gewijzigd door RobIII op 23-09-2004 15:06 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
RobIII schreef op 23 september 2004 @ 15:06:
File -> Add project :?
En dan in je project explorer effe het juiste project als startup-project instellen.
Als ik jou was stopte ik wat algemeen spul in een ActiveX-DLL of OCX en die dan dus apart bakken/compilen. Moet ik effe een voorbeeldje flansen?
Heel erg graag zelfs :)

ik heb nu wel 2 projecten alleen krijg ik project 1 net aan project 2 gekoppeld zeg maar.

[ Voor 12% gewijzigd door TwoR op 23-09-2004 15:16 ]


  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 08:20

ThunderNet

Flits!

Als je al je resources (plaatjes etc.) in een aparte dll doet...
Het slimste is om niet een ActiveX DLL te maken, maar een dll te maken in C++
Hierin kun je ook gewoon resources toevoegen....

Maar, wil je het helemaal netjes doen, schrijf je een DLL in C++ waarin je in je VB Programma een functie inroept, met bepaalde "id" van een plaatje, en hij als antwoord van die functie de hDC (geheugen plek) van dat plaatje returned. 8)7

Op die manier, hou je het eventuele geheugen probleem, buiten je VB programma zelf, maar in de C++ DLL....

En als je 130 forms hebt :S of iig meer als 20.... Ga ze Dynamisch maken.
Maak 1 enkele lege form aan. En hieraan kun je buttons en alles toevoegen. (dynamisch, oftewel met code) Het is in het begin redelijk moeilijk, om te programmeren... Maar het scheelt je zeker in grootte.... B)

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
ThunderNet schreef op 23 september 2004 @ 15:31:
Als je al je resources (plaatjes etc.) in een aparte dll doet...
Het slimste is om niet een ActiveX DLL te maken, maar een dll te maken in C++
Hierin kun je ook gewoon resources toevoegen....

Maar, wil je het helemaal netjes doen, schrijf je een DLL in C++ waarin je in je VB Programma een functie inroept, met bepaalde "id" van een plaatje, en hij als antwoord van die functie de hDC (geheugen plek) van dat plaatje returned. 8)7

Op die manier, hou je het eventuele geheugen probleem, buiten je VB programma zelf, maar in de C++ DLL....

En als je 130 forms hebt :S of iig meer als 20.... Ga ze Dynamisch maken.
Maak 1 enkele lege form aan. En hieraan kun je buttons en alles toevoegen. (dynamisch, oftewel met code) Het is in het begin redelijk moeilijk, om te programmeren... Maar het scheelt je zeker in grootte.... B)
bedankt voor je reactie. zal eens kijken of ik een DLL kan maken waarin ik dat kwijt kan.
en ik heb maar 13 forms. dus dat valt wel mee.

  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 08:20

ThunderNet

Flits!

Dan is het nog steeds het beste om een C++ DLL te maken. Aangezien deze vooral sneller zijn dan VB6 ActiveX Dll's

wil je alsnog VB6 ActiveX Dll's gebruiken... kan ik eventueel nog wel ergens wat van die code opzoeken....

En nog een tip: Voeg niet die 2 projecten bij elkaar in een "Project Group"
Want dit kan voor project compabiliteits fouten zorgen (is heel lang grote kopzorg van me geweest)

Dus maak een los project waarin je een dll programmeert, compileer deze. en voeg later in je hoofd programma een referentie naar deze dll toe.

Dit natuurlijk als t niet lukt om een C++ Dll te maken

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
ThunderNet schreef op 23 september 2004 @ 15:42:
wil je alsnog VB6 ActiveX Dll's gebruiken... kan ik eventueel nog wel ergens wat van die code opzoeken....
Ik ben altijd benieuwd hoe anderen dit soort problemen oplossen dus ik zou zeggen graag.

Als het goed is wilde bobIII ook nog even een voorbeeldje voor me maken dus dan kan ik daar ook nog even naar kijken. Ik begin nu toch echt redelijk radeloos te worden aangezien het morgen moet draaien, en zonder *.exe heb je niks...

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
voorbeeldje (group1.vbg openen).

Je kunt nu dus je project compileren in een .dll en een .exe

@ ThunderNet: Ok, een C++ dll is mooier, maar waarom met 10 verschillende dingen werken als het allemaal kan in VB? En dat van die projectgroup is vette onzin, mits je je project gewoon goed beheert. Ik gebruik het al jaren en heb er nooit last mee.

[ Voor 3% gewijzigd door RobIII op 23-09-2004 16:35 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
nice picture ;)

Bedankt ik zal het eens gaan uitzoeken.

Even vast in jouw ogen een domme vraag maar jij hebt in je form de verwijzing staan naar mytest.myclass

Als ik ditzelfde doe in mijn form krijg ik user-define type not defined.

Moet je ergens nog iets in je instellingen doen?

jij had:
Visual Basic 6:
1
2
 Dim oMyThing As mytest.myclass
    Set oMyThing = New myclass


ik heb:
Visual Basic 6:
1
2
  Dim m_databaseAccess As classes.DatabaseAccess
    Set m_databaseAccess = New DatabaseAccess


En bij is de project naam van de DLL classes en de Class Module heet DatabaseAccess. Volgens mij is het beide exact hetzelfde.

Toen alles nog in hetzelfde project stond deed ik dit:
Visual Basic 6:
1
Set m_databaseAccess = New DatabaseAccess

[ Voor 116% gewijzigd door TwoR op 23-09-2004 17:12 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je moet een reference zetten (onder project -> references) naar MyTest, maar dan krijg je na het compileren idd problemen met compatibiliteit als je je .dll of .exe nog eens aan past (of je moet goed weten waar je mee bezig bent ;) )

Wat je beter kunt doen:
code:
1
2
Dim oMyThing As Object
Set oMyThing = CreateObject("MyTest.MyClass")

Iets minder efficiënt (late bound), maar geeft een stuk minder compatibiliteits problemen.

Je zult je .dll dus wel effe op de andere pc's waar je .exe komt te draaien effe moeten reggen nadat je 'm in system32 of je app.path hebt geinstalleerd:

regsvr32 c:\windows\system32\mydll.dll

Normaliter doet je installer dat trouwens wel voor je (moet je dus wel zorgen dat je installer dat ding meeneemt ;) )

[ Voor 35% gewijzigd door RobIII op 23-09-2004 17:18 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
ja ik had hem ook bij de refrences staan maar hij ging op zijn bek bij de 2e regel. Nu heb ik het volgende:
Visual Basic 6:
1
2
3
Dim oMyThing As Object
    Set oMyThing = CreateObject("classes.DatabaseAccess")
    Set m_databaseAccess = New oMyThing


En ook dan geeft ie een user-not define error bij New oMyThing

Heb nu de laatste regel weg gehaald en nu werkt het wel. Kunnen we de rest van de classes en de refrence file ook in de DLL proppen om te testen

[ Voor 21% gewijzigd door TwoR op 23-09-2004 17:22 ]


  • ThunderNet
  • Registratie: Juni 2004
  • Laatst online: 08:20

ThunderNet

Flits!

@ RobIII
Het kan wel in projectgroups, maar, je kunt dan niet even snel wat veranderen en ff de exe opnieuw compileren. Je moet dan de hele projectgroep opnieuw compileren. >:)

En als je losse projecten hebt, kun je dus wel even andere exe, of als je na een poosje andere plaatjes wilt in je resources... alleen de DLL even opnieuw compileren, en erover kopieeren, en het werkt weer (mits je de goede compabiliteit settings hebt) :9

Heb je liever vooraf, of achteraf, dat ik zeg dat ik geen flauw idee heb wat ik doe?


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
ThunderNet schreef op 23 september 2004 @ 21:12:
@ RobIII
Het kan wel in projectgroups, maar, je kunt dan niet even snel wat veranderen en ff de exe opnieuw compileren. Je moet dan de hele projectgroep opnieuw compileren. >:)

En als je losse projecten hebt, kun je dus wel even andere exe, of als je na een poosje andere plaatjes wilt in je resources... alleen de DLL even opnieuw compileren, en erover kopieeren, en het werkt weer (mits je de goede compabiliteit settings hebt) :9
complete onzin, maar goed.
Als je late-bound references gebruikt zoals ik hierboven aangeef hoef je dus NIET je hele project opnieuw te compilen. En juist omdat je een projectgroup gebruikt hoef je geen dll's te compilen tijdens het ontwikkelen voordat je met je "main app" verder kunt, maar worden ze gewoon runtime gecompileerd (en dus makkelijker testen) en hoef je dus ook niks te reggen/unreggen.

[ Voor 3% gewijzigd door RobIII op 24-09-2004 01:16 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
ik heb nu door hoe dit allemaal in elkaar steekt alleen nu heb ik een nieuwe OCX gemaakt en wil vanuit deze OCX gegevens ophalen uit het Hoofdproject (de exe dus) is dit uberhaupt wel mogelijk? ik heb gekeken bij de refrence en de components en bij beide komt het hoofdproject er niet in te staan.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 22-05 16:53
Dan moet je er een ActiveX exe van maken. Public classes uit je hoofdproject kent ie dan in je activex ook.

Ik moet alleen wel zeggen dat dit qua design wat minder is. Gesharede objecten zou ik in een derde dll definieren, en zowel de exe als de andere dll die dll laten referencen.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
Oke ik ben er bijna ik heb een user control in een OCX file en alle werkt binnen VB. Als ik de OCS compile gaat het ook prima. Totdat ik de exe wil gaan compilen. deze geeft de volgende foutmelding:

The project '***' can not be built because it refrences project 'path\filenamenaarocx.vbp' wich does not have a binary compatibility file set.

Maar het vreemde is dat die het eerder wel gedaan heeft en er nu mee gestopt is. Weet iemand wat hier verkeerd is? volgens mij heb ik alles goed staan maar goed het is logisch dat je dat zelf denkt want anders post je het hier niet.

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
little *kick*

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Sorry, maar ik heb je lang genoeg aan je handje gehouden.
Toon zelf eens wat initiatief? :?

[ Voor 6% gewijzigd door RobIII op 25-09-2004 19:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 20-05 15:17

TwoR

Gekleurde stippen

Topicstarter
RobIII schreef op 25 september 2004 @ 19:21:
Sorry, maar ik heb je lang genoeg aan je handje gehouden.
Toon zelf eens wat initiatief? :?
mmm, ja je hebt gelijk dit had ik zelf kunnen vinden. Ik had alleen even niet aan de Google Groups gedacht, dus bedankt voor je link. Het was dus gewoon zo dat ik het OCX bestand als component moest zetten en niet het project. Maar goed ik heb weer een draaiende versie dankzij jullie. Dus super bedankt iedereen maar toch wel in het bijzonder RobIII !!

[ Voor 12% gewijzigd door TwoR op 27-09-2004 10:42 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TwoR schreef op 27 september 2004 @ 10:41:
[...]

mmm, ja je hebt gelijk dit had ik zelf kunnen vinden. Ik had alleen even niet aan de Google Groups gedacht, dus bedankt voor je link. Het was dus gewoon zo dat ik het OCX bestand als component moest zetten en niet het project. Maar goed ik heb weer een draaiende versie dankzij jullie. Dus super bedankt iedereen maar toch wel in het bijzonder RobIII !!
O+
You're welcome :Y)

[ Voor 3% gewijzigd door RobIII op 27-09-2004 17:18 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1