vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest poniedziałek, 13 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Prośba o info


otwartyotwarty rozpoczął: Blaszka_P postów: 7



napisał: admin
postów: 613


umieszczony:
14 marca 2012
08:29

edytowany:
14 marca 2012
10:45

  
Z tej strony Microsoftu:

Cytat:

To correct this error

Check that procedures are not nested too deeply.

Make sure recursive procedures terminate properly.

If local variables require more local variable space than is available, try declaring some variables at the module level. You can also declare all variables in the procedure static by preceding the Property, Sub, or Function keyword with Static. Or you can use the Static statement to declare individual static variables within procedures.

Redefine some of your fixed-length strings as variable-length strings, as fixed-length strings use more stack space than variable-length strings. You can also define the string at module level where it requires no stack space.

Check the number of nested DoEvents function calls, by using the Calls dialog box to view which procedures are active on the stack.

Make sure you did not cause an "event cascade" by triggering an event that calls an event procedure already on the stack. An event cascade is similar to an unterminated recursive procedure call, but it is less obvious, since the call is made by Visual Basic rather than an explicit call in the code. Use the Calls dialog box to view which procedures are active on the stack.


Moze za duzo razy wywolujesz DoEvents?
Probuj wywolac DoEvents co drugi albo co trzeci obieg petli.
napisał: Blaszka_P
postów: 112


umieszczony:
13 marca 2012
16:04

  
Witam

Jak z jak z jednym człowiek się upora to kolejny problem się rodzi


mam teraz komunikat "Out of stack space (Error 28)" w tym samym UserFormie, pojawia się dopiero po jakimś czasie i tu już jestem bezradny . Podejrzewam ,że w tym miejscu
Do
        lastCount = count
        count = NETComm1.InBufferCount
        If Err Then MsgBox Error$, 48     'komunikat
        DoEvents
        Sleep 50
    Loop While (count = 0 Or lastCount < count) And Not Abort '

jest problem , bo nawet jak zamykam UserForm to ta pętla nadal działa przerywam ją dopiero klawiszem Esc , co zrobić żeby wszystko działało dobrze

Za pomoc dziękuję

Pozdrawiam
napisał: Blaszka_P
postów: 112


umieszczony:
10 marca 2012
21:30

  
Witam

Wielkie dzięki za poświęcenie czasu , jeżeli chodzi o całość do jest to dosyć wielki plik, ponad 7 MB i nie za bardzo nie mogę go wrzucić do sieci, poprawiłem co nieco i muszę sprawdzić jego działanie z urządzeniem
Jeszcze raz dziękuję za pomoc.

Pozdrawiam
napisał: Trebor
postów: 1209


umieszczony:
10 marca 2012
20:01

  
Aby przeanalizować kod musiałbym odtworzyć obiekty skoroszytu, wartości w komórkach i zdaje się ścieżki do plików. Zbyt dużo czasu to zajmie i nie musi przynieść efektu. Nie będę pewny czy nie masz w skoroszycie jakiś zdarzeń, które mogą mieć wpływ na całość.
napisał: Blaszka_P
postów: 112


umieszczony:
10 marca 2012
19:10

  
nazwa pliku rozmiar
UserForm.zip 7.75 kB

Witam

Znalazłem ,że na początku kodu nie miałem opcji
Application.EnableEvents = False

, czy to mogło być przyczyną ?

Może będzie prościej jak prześlę UserForma , ale uprzedzam jestem samoukiem w pisaniu kodu VBA , przepraszam za błędy itd.
Ten UserForm jest tylko cząstka mojego programu i jest powiązany z innymi oknami. W tym oknie pobieram dane z urządzenia i przetwarzam je dalej. Czasami nie wyświetla mi tych danych

Za pomoc dziękuję
napisał: Trebor
postów: 1209


umieszczony:
10 marca 2012
07:40

  
Właściwość która pozwala na wyłączenie - false, włączenie - true zdarzeń np. arkusza, skoroszytu. Nie działa na zdarzenia UserForma.
Np. jeśli wybór komórki wyzwala zdarzenie selection_change, to poprzedzając taką linię poleceniem wyłączenia zdarzeń nie dojdzie do wykonania kodu tego zdarzenia. Wykorzystuje się to np. gdy w zdarzeniu selection_change następuje wybór komórki (select) co powoduje następne uruchomienie tego zdarzenia. W ten sposób powstaje kaskada wywołań co może zakończyć się zawieszeniem makra.
napisał: Blaszka_P
postów: 112


umieszczony:
9 marca 2012
21:33

  
Witam

Mam pytanie co dokładnie robi funkcja
Application.EnableEvents= True


czy może ona mieć wpływ na wyswietlanie danych w UserForm, mam makro ,które działa ale po jakimś czasie przestaje mi wyświetlać dane w Userform , myslę że to ta funkcja ale nie jestem pewien

Dzięki za pomoc

Pozdrawiam


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z