Hallo

Welkom, Gast. Alsjeblieft inloggen of registreren.

Recent

496 gasten, 0 leden

Welkom, Gast. Alsjeblieft inloggen of registreren.

27 april 2024, 23:40:43

Login met gebruikersnaam, wachtwoord en sessielengte

Nieuws

Welkom op het vernieuwde NL Computer Forum!

Auteur Topic: Verwerkingspad niet te volgen  (gelezen 9323 keer)

0 leden en 1 gast bekijken dit topic.

Offline NLCOMP

  • Forumheld
  • *****
  • Berichten: 14.666
    • NL Computer Forum
Verwerkingspad niet te volgen
« Gepost op: 9 november 2009, 20:01:03 »
Bericht 1 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Jan101477Datum:25-08-2007
 Aan:AllenMsgID:3537.1
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Hierbij een vreemd probleem. Bij het inlezen van bestanden en het belissen in welke kolom de inhoud geplaatst moet worden gaat op de instructie
If filename = frmInvestor.ext(App.Path) & "DATA\AMS_A.prn" And TestAanroep "AlleFondsen" Then
j = 2
End If
indien het bestand niet aan de voorwaarden voldoet, het programma ergens heen waar ik het niet volgen kan en na zeven of acht keer F8 komt het programma op de End If. Hetzelfde gebeurt bij de If's van andere bestanden en ook als wel aan de voorwaarden van de If wordt voldaan.
Waar het programma in de tussentijd (dus tijdens de F8's) mee bezig is weet ik niet. Ik heb geprobeerd het met Show Next Statement te volgen, maar dat lukt niet: ik krijg niets te zien.
Na geven van F5 komt het programma in de error handler en geeft error 52 (Bad file name or number).
Wie kan mij aan de oplossing helpen? Ik heb nog nooit zo iets gehad.


Bericht 2 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:25-08-2007
 Aan:Jan101477MsgID:3537.2
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
>>
If filename = frmInvestor.ext(App.Path) & "DATA\AMS_A.prn" And TestAanroep "AlleFondsen" Then
j = 2
End If
<<

Er is ergens een stukje code weggevallen tussen If en Then, waarschijnlijk tussen TestAanroep en "AlleFondsen".
a) Als frmInvestor nog niet geladen is zal dit eerst gebeuren voordat de functie frmInvestor.ext() uitgevoerd wordt. Het is dus mogelijk dat 1 of meerdere events zoals frmInvestor_Load(), frmInvestor_Resize(), frmInvestor_Activate() en alle code die daarin staat uitgevoerd wordt.
b) Is TestAanroep een variabele of een Functie?

Probeer het eens met:
...
Dim sFile As String

sFile = frmInvestor.ext(App.Path) & "DATA\AMS_A.prn"
If filename = sFile Then
   'bestandsnaam = oke, even op scherm melden
   MsgBox "Bestand = " & sFile & vbCrLf & "j = " & j
   If TestAanroep = "AlleFondsen" Then
      j = 2
   End If
End If

...

Groeten, Peter




Bericht 3 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Jan101477Datum:25-08-2007
 Aan:PeterMsgID:3537.3
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Hoi Peter,
Er is inderdad iets weggevallen, namelijk het <> teken.


Bericht 4 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:25-08-2007
 Aan:Jan101477MsgID:3537.4
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
>>Er is inderdad iets weggevallen, namelijk het <> teken.<<
Oke, dat verandert programma-technisch niets aan mijn 1e antwoord.
Kun je daar wat mee?


Peter



Bericht 5 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Jan101477Datum:26-08-2007
 Aan:PeterMsgID:3537.5
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Kun je daar wat mee?
Ja, het probleem is opgelost. Bedankt voor je hulp.


Bericht 6 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Jan101477Datum:01-09-2007
 Aan:PeterMsgID:3537.6
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Hoi Peter,
Het out of stack space probleem is opgelost. Het had niets te maken met het aantal bestanden, want deze werden direct na gebruik gesloten. Waarschijnlijk heeft er iets geks gezeten in de code, want plotseling zonder een gerichte actie, was het probleem weg.
Het installatieprogramma werkt nu goed en op de installatie PC's werkt mijn programma nu zonder fouten, zowel onder Windows XP als onder Windows Vista.
Wel heb ik al sinds de overgang naar WindowsXP een paar jaar geleden een probleem met de forms in Visual Basic 6.0 bij de overgang op de screen saver. Het programma loopt weliswaar gewoon door, maar het form dat op dat moment op het scherm staat wordt wit en de activiteit (bijv. het tonen van het op dat moment actieve bestand), blijft staan op het bestand dat behandeld werd op het moment van actief worden van de schermbeveiliging. Ik heb hier nooit een probleem van gemaakt, want de taak ging gewoon door, maar het hoort natuurlijk niet.
Heb je enig idee wat de oorzaak kan zijn? Ik dacht in eerste instantie aan te weinig geheugen, maar ook bij meer geheugen gebeurt het. De oorzaak is duidelijk de schermbeveiliging.
Aangezien je kennelijk een zeer ervaren VB-gebruiker bent heb ik nog een algemene vraag. Doe je iets met .NET en zo ja ben je daar tevreden over. Ik heb daar nooit wat in gezien. Je geeft toch veel van je beslissingsbevoegdheid weg aan Microsoft met .NET. Of zie ik dat verkeerd. Graag hoor ik je mening hierover.
Ook een reactie hierop van andere forumbezoekers is uiteraard welkom.


Bericht 7 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:02-09-2007
 Aan:Jan101477MsgID:3537.7
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
>>maar het form dat op dat moment op het scherm staat wordt wit en de activiteit ... blijft staan<<
I
k neem dat een standaard schermbeveiligings programma van MicroSoft ingesteld is en geen programma van een ander bedrijf.
Wanneer gebeurt dat precies, als de schermbeveiliging start of als de schermbeveiliging stopt?
Het Form_Paint() event wordt in ieder geval gestart. Staat daar code in?

Mogelijk wordt de focus naar het formulier of een bepaald control daarin gewijzigd of je programma komt in een lus terecht waardoor de verversing van het formulier geblokkeerd wordt.
Het toevoegen van de functie DoEvents() kan dit voorkomen. Beter is het om eerst de oorzaak te achterhalen. Als je programma bijvoorbeeld niet meer zichtbaar is heeft verversen ook geen zin.

>>Doe je iets met .NET en zo ja ben je daar tevreden over. Ik heb daar nooit wat in gezien.<<
Nauwelijks. Ik vind het erg omslachtig en onduidelijk maar dat kan ook aan mijn opgebouwde ervaring liggen.
Het hele FrameWork gebeuren is ook aan updates onderhevig: 1.0, 1.1, 2.0, 3.0 enz.
De meningen zijn iig erg verdeeld.
Ik zie er dus een beetje vanaf. Zolang het nog zonder .NET te maken is zal ik dat doen.

>>Je geeft toch veel van je beslissingsbevoegdheid weg aan Microsoft met .NET.<<
Wat bedoel je daar precies mee?


Peter



Bericht 8 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Michel Uphoff (Sysop)Datum:02-09-2007
 Aan:Jan101477MsgID:3537.8
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Hoi Jan,
Het lijkt erop, dat de screensaver de focus steelt, en het VB programma daar geen rekening mee houdt, waardoor het stokt. Wanneer merk je dit op? Niet als de screensaver start lijkt mij, want dan heb je geen beeld. En als de screensaver stopt, zie je dat dat lege form? Wat gebeurt er vervolgens als je niets doet, en wat als je op het form klikt?
Aan .NET hebben ze mij nog niet kunnen krijgen. Iets in mij verzet zich daartegen, het zal wel de leerbult zijn. Maar ook het gegeven dat er inmiddels 3 versie van .Net zijn die niet volledig uitwisselbaar/backward compatible zijn, daar krijg ik al een sik van, en spoort mij al helemaal niet aan. VB6 lijkt ten minste nog tot einde Vista mee te kunnen.

Michel Uphoff (NLcomputer)
Homepage



Bericht 9 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Jan101477Datum:02-09-2007
 Aan:PeterMsgID:3537.9
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Wat bedoel je daar precies mee?
Ik heb begrepen dat het eigenlijke werk bij programmeren met .NET op internet plaatsvindt en niet op je eigen PC. Maar misschien denk ik dat uit onbegrip met .NET.
Wat de schermbeveiliging betreft. Ik gebruik de Windows schermbeveiliging en het wit worden van het form gebeurt altijd bij het starten van de schermbeveiliging. Er zit geen lus in het programma waardoor het zou kunnen vastlopen.
Ik gebruik Form.Paint eigenlijk nooit, want ook zonder dat had ik geen problemen. Hoe werkt dat eigenlijk?


Bericht 10 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Jan101477Datum:02-09-2007
 Aan:Michel Uphoff (Sysop)MsgID:3537.10
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Hoi Michel,
Hoe was je vakantie? Hopelijk had je beter weer dan wij hier.
Wat het screensaverprobleem betreft. Ik merk het bij het ingaan van de schermbeveiliging. Als ik namelijk de spatiebalk indruk krijg ik het gewone scherm weer terug en dan staat de blauwe balk van het form op het dan in bewerking zijnde bestand, tenminste als ik de spatiebalk indruk onmiddellijk bij het starten van de schermbeveiliging. Als ik bij een lange klus de volgende keer de spatiebalk indruk bij het ingaan van de schermbeveiliging, dan staat de blauwe balk nog steeds op hetzelfde bestand. Het begin van de schermbeveiliging is dus duidelijk de oorzaak. Als ik in zo'n situatie met de muis klik slaat het programma vast.
Welke voorziening zou je moeten treffen om het focus terug te krijgen. Het programma beslaat in het geheugen, afhankelijk waar het op dat moment mee bezig is, 20 tot 30 MB. Bij een geheugen van 1 GB kan m.i. geheugen niet het probleem zijn.
Ik ben blij dat ik niet de enige ben met bezwaren tegen .NET.
Ik heb het idee dat Microsoft weinig meer verdient aan programmeertalen en met .NET de geldstroom weer op gang probeert te brengen.


Bericht 11 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Michel Uphoff (Sysop)Datum:02-09-2007
 Aan:Jan101477MsgID:3537.11
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Hoi Jan,
>> Als ik in zo'n situatie met de muis klik slaat het programma vast. <<
Dan lijkt mij er wat meer aan de hand dan alleen maar een verloren focus. Peter stelde de vraag of het de standaard MS screensavers betreft. Heel terechte vraag, want sommige screensavers van derden zijn uitermate beroerd geschreven ondingen.
Als het voorkomt met de eenvoudige 'zwart scherm' of 'lichtkrant' screensavers dan zit er een fout ergens in de code, want VB6 heeft standaard geen problemen met normale screensavers. Je zou in design time eens kunnen kijken of je er achter kan komen waar de boel vastloopt.
Dit probleem komt alleen voor bij  screensavers (in feite niets anders dan een executable), en niet bij andere programma's?


Michel Uphoff (NLcomputer)
Homepage



Bericht 12 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:02-09-2007
 Aan:Jan101477MsgID:3537.12
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
>>Ik heb begrepen dat het eigenlijke werk bij programmeren met .NET op internet plaatsvindt en niet op je eigen PC.<<
Dta klopt niet. Je ontwikkelt je programma's gewoon op je eigen pc. .NET is alleen een andere manier van programmeren. Je hebt dus o.a VB.NET (visual basic) en Delphi.NET (visual pascal).

>>het wit worden van het form gebeurt altijd bij het starten van de schermbeveiliging.<<
Vreemd. In je bericht aan Michel vertel je o.a. 'Als ik namelijk de spatiebalk indruk krijg ik het gewone scherm weer terug en dan staat de blauwe balk van het form op het dan in bewerking zijnde bestand'  EN 'Als ik bij een lange klus de volgende keer de spatiebalk indruk bij het ingaan van de schermbeveiliging, dan staat de blauwe balk nog steeds op hetzelfde bestand.'
Dit lijkt erop dat er wel degelijk bewerkingen uitgevoerd worden als de schermbeveiliging start. Je programma lijkt het niet leuk te vinden als de focus van dat formulier gaat. Je kan dat in de ontwikkelomgeving simpel testen door tijdens run-mode eens op Alt-Tab te drukken en daarmee een ander actief venster naar voren te halen.
Werkt het dan wel goed?

>>Ik gebruik Form.Paint eigenlijk nooit, want ook zonder dat had ik geen problemen. Hoe werkt dat eigenlijk?<<
Het is 1 van de vele events en ook niet verplicht om te gebruiken
Het wordt getriggert als alles of een deel van een formulier hertekend moet worden.
Voor meer info kun je eens in de helpbestanden kijken.


Peter



Bericht 13 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Jan101477Datum:03-09-2007
 Aan:PeterMsgID:3537.13
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Sorry Peter en Michel,
Ik heb mij niet duidelijk uitgedrukt. Bij het ingaan van de schermbeveiliging wordt niet het hele formulier wit, maar alleen de blauwe balk boven het menu. De tekst daarin blijft staan en wordt niet meer vervangen, dus er gebeurt niets, althans niets zichtbaars. Het programma loopt wel gewoon door, want het eindigt normaal en al het tussenliggende is verwerkt.
Het vastlopen bij meerdere keren klikken heeft waarscjhijnlijk niets met dit probleem te maken. Dat gebeurt soms ook bij tegelijk draaien van meerdere grotere programma's en zou dan op een tekort aan geheugen kunnen wijzen, hoewel de totale geheugenbezetting tamelijk ver onder het maximim blijft (volgens de dan geldende situatie in Taakbeheer).


Bericht 14 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:PeterDatum:03-09-2007
 Aan:Jan101477MsgID:3537.14
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
>>De tekst daarin blijft staan en wordt niet meer vervangen, dus er gebeurt niets, althans niets zichtbaars. Het programma loopt wel gewoon door, want het eindigt normaal<<
Even hardop resumeren:
Je programma voert taken uit en in een of meerdere taken wordt de tekst in de titelbalk van je programma gewijzigd. Als  dan de schermbeveiliging start draait je programma gewoon door maar wordt de titelbalk wit. Nadat de schermbeveiliging weer weg is draait je programma gewoon verder maar blijft de titelbalk wit, ook als je met de muis weer in het formulier van je programma klikt.

De schermbeveiliging verplaatst in ieder geval niet de focus. Dat kan wel gebeuren als je meer dan 1 keer klikt om de schermbeveiliging op te heffen. Alleen de eerste klik heft de beveiliging op, eventueele volgende klikken worden door het venster verwerkt waar de muis op dat moment toevallig staat.
Dezelfde geldt voor de spatiebalk. De eerste indruk heft de beveiliging op, eventueele volgende indrukken worden door het venster of control verwerkt waar de focus op dat moment toevallig staat.

De kleurverandering zou dus een teken kunnen zijn dat je programma toch de focus heeft verloren na het verlaten van de schermbeveiliging.
De kleur voor een niet actieve titelbalk is toch niet toevallig op wit ingesteld? Zie hiervoor Eigenschappen voor Beeldscherm, tab "Vormgeving", kies in lijst Item "Niet-actieve titelbalk". Rechts hiervan staat dan Formaat en rechts daarvan staan 2 kleurtjes. Zie bijlage.

Kun je eens een schermafdruk maken van dit probleem en dat even plaatsen.


Peter
Bijlagen :

titelbalk_kleuren.jpg
49KB


Bericht 15 van 15

NL Computer Forum ~ SQL & Programmeren
 Van:Jan101477Datum:03-09-2007
 Aan:PeterMsgID:3537.15
 Onderwerp:Verwerkingspad niet te volgenForum:ws-nlcomputer
Peter,
Je resumeert exact wat er plaats vindt. Wat de kleuren bij Niet-active titelbalk betreft: de eerste is blauw en de tweede grijs met opschrift kleur2 als disabled tekst.
Ik zal eens uitproberen wat er gebeurt bij een of meer keer klikken bij actief zijn van de schermbeveiliging.
Schermafdruk volgt.