powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Application.OnTime - вызов процедуры с аргументами
9 сообщений из 9, страница 1 из 1
Application.OnTime - вызов процедуры с аргументами
    #33095755
собственно
а то че-то не получается

имею:
Application.OnTime (Now + TimeValue(tm)), "proced (arg1, arg 2)"

sub proced (arg1, arg2)
bla-bla-bla
end sub

заранее спасибо ответившим

без аргументов все пашет, объявлять аргументы публичными нельзя
...
Рейтинг: 0 / 0
Application.OnTime - вызов процедуры с аргументами
    #33096529
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег aka 3вероВоусобственно
а то че-то не получается

имею:
Application.OnTime (Now + TimeValue(tm)), "proced (arg1, arg 2)"

sub proced (arg1, arg2)
bla-bla-bla
end sub

заранее спасибо ответившим

без аргументов все пашет, объявлять аргументы публичными нельзя
В чем выражается "че-то не получается"? Сообщение об ошибке, молчаливое продолжение программы?
Каков тип и как объявлены аргументы процедуры, является ли процедура глобальной?
Пробовали ли Вы объявлять их со значениями по умолчанию и запускать процедуру без указания аргументов?
...
Рейтинг: 0 / 0
Application.OnTime - вызов процедуры с аргументами
    #33104335
выдает сообщение:
"не найден макрос 'proced(arg1, arg2)'"

агрументы типа String

процедура описана в модуле как:
Код: plaintext
1.
2.
sub proced (arg1 as string, arg2 as string)
....
end sub
вызов процедуры идет как:
Код: plaintext
Application.OnTime (Now + TimeValue(tm)), "proced (arg1, arg2)"
где tm - переменная типа Date, которая отвечает за время вызова процедуры (в минутах от текущего)

без указания аргументов все запускается

чтоб запускать процедуру, не используя аргументы, нужно будет объявить публичными от 20 переменных (10 х 2 аргумента), а делать этого не хочется очень
...
Рейтинг: 0 / 0
Application.OnTime - вызов процедуры с аргументами
    #33104442
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег aka 3вероВоувыдает сообщение:
"не найден макрос 'proced(arg1, arg2)'"

агрументы типа String

процедура описана в модуле как:
Код: plaintext
1.
2.
sub proced (arg1 as string, arg2 as string)
....
end sub
вызов процедуры идет как:
Код: plaintext
Application.OnTime (Now + TimeValue(tm)), "proced (arg1, arg2)"
где tm - переменная типа Date, которая отвечает за время вызова процедуры (в минутах от текущего)

без указания аргументов все запускается

чтоб запускать процедуру, не используя аргументы, нужно будет объявить публичными от 20 переменных (10 х 2 аргумента), а делать этого не хочется очень
первое - sub proced (byval arg1 as string, byval arg2 as string) (на всякий случай)
второе попробуйте вот так
Application.OnTime (Now + TimeValue(tm)), "proced """arg1""", """arg2"""" или
Application.OnTime (Now + TimeValue(tm)), "call proced ("""arg1""", """arg2""")"
третье - если arg1 и arg2 - имена переменных, то как и где они объявлены?
...
Рейтинг: 0 / 0
Application.OnTime - вызов процедуры с аргументами
    #33104454
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibblesпервое - sub proced (byval arg1 as string, byval arg2 as string) (на всякий случай)
второе попробуйте вот так
Application.OnTime (Now + TimeValue(tm)), "proced """arg1""", """arg2"""" или
Application.OnTime (Now + TimeValue(tm)), "call proced ("""arg1""", """arg2""")"
третье - если arg1 и arg2 - имена переменных, то как и где они объявлены?
и - нулевое, тоже на всякий случай, :)) чтоб не полагаться на дефаулт:
public sub proc...
...
Рейтинг: 0 / 0
Application.OnTime - вызов процедуры с аргументами
    #33105895
2nibbles: сенкс, что откликнулись ;)

arg1, arg2 - вычисляемые переменные (неглобальные и непубличные), заданы в той же процедуре CLICK, что содержит
Application.OnTime (Now + TimeValue(tm)), "proced (arg1, arg 2)"
Код: plaintext
dim arg1 as string, arg2 as string

я так думаю, вся проблема в этом... их значения видно не передаются процедуре proced, так как после завершения работы процедуры CLICK они "умирают"

попробовал всё, что советовали, не фурычит:
Код: plaintext
Application.OnTime (Now + TimeValue(tm)), "proced """arg1""", """arg2"""" 
- там лишние кавычки, убираю, все равно такая же надпись (не найдено...)
Код: plaintext
Application.OnTime (Now + TimeValue(tm)), "call proced ("""arg1""", """arg2""")" 
- "не найден макрос: call proced ("""arg1""", """arg2""")"

прийдется кучу пабликов делать.... ээээх
...
Рейтинг: 0 / 0
Application.OnTime - вызов процедуры с аргументами
    #33106344
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если переменные запихнуть в какие-нибудь ячейки и отдуда потом их считать из процедуры. Я так делал по крайней мере
...
Рейтинг: 0 / 0
Application.OnTime - вызов процедуры с аргументами
    #33106398
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олег aka 3вероВоу2nibbles: сенкс, что откликнулись ;)

arg1, arg2 - вычисляемые переменные (неглобальные и непубличные), заданы в той же процедуре CLICK, что содержит
Application.OnTime (Now + TimeValue(tm)), "proced (arg1, arg 2)"
Код: plaintext
dim arg1 as string, arg2 as string

я так думаю, вся проблема в этом... их значения видно не передаются процедуре proced, так как после завершения работы процедуры CLICK они "умирают"

попробовал всё, что советовали, не фурычит:
Код: plaintext
Application.OnTime (Now + TimeValue(tm)), "proced """arg1""", """arg2"""" 
- там лишние кавычки, убираю, все равно такая же надпись (не найдено...)
Код: plaintext
Application.OnTime (Now + TimeValue(tm)), "call proced ("""arg1""", """arg2""")" 
- "не найден макрос: call proced ("""arg1""", """arg2""")"

прийдется кучу пабликов делать.... ээээх
Нужно сделать так, чтоб в итоге строка, предоставляемая Application.OnTime (то, что будет видно в Debug.Print) была равна:
Код: plaintext
proced "значение трали-вали один", "значение трали-вали два" 
или
Код: plaintext
call proced ("значение трали-вали один", "значение трали-вали два")
Это условие выполняется?
...
Рейтинг: 0 / 0
Application.OnTime - вызов процедуры с аргументами
    #33107019
2HandKot: пришлось так и сделать
nibbles
Нужно сделать так, чтоб в итоге строка, предоставляемая Application.OnTime (то, что будет видно в Debug.Print) была равна:
Код: plaintext
proced "значение трали-вали один", "значение трали-вали два" 
или
Код: plaintext
call proced ("значение трали-вали один", "значение трали-вали два")
Это условие выполняется?
в том-то и дело, что нет... пишет, что "не найден макрос 'proced "значение трали-вали один", "значение трали-вали два"' или 'call proced ("значение трали-вали один", "значение трали-вали два")'
Остановился на простом. Спасибо за ответы :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Application.OnTime - вызов процедуры с аргументами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]