![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| ddll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Здравствуйте
столкнулся с такой проблемой мне необходим таймер который бы при определенном условии вызывал бы некий метод но Мой метод имееет два параметра отличные от делегата. Тоесть если стандартный пример выглядит static void Main() { timer = new System.Timers.Timer(); timer.AutoReset = true; timer.Interval = 1000; timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); timer.Enabled = true; return; } private void timer_Elapsed(object source, System.Timers.ElapsedEventArgs e) { //Проблемма с реализацией Метода Method(string name,int ves); } Заранее спасибо большое. |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
в timer_Elapsed можете делать все что хотите... вызывать методы, с параметрами, без параметров... навжно. В чем собсно вопрос?
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| ddll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Не могу понять как это сделать т.к.
такой код не скомпилируеться void Method(string name, int ves) { //.......... } void tmr_Elapsed(object source, ElapsedEventArgs e) { Method(find,number); } пишет find dont current in content и number dont current in content |
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
Ну правильно, если переменные не уровня класса, то и не видно их будет в том месте. Судя по этим заморочкам у вас, вам, мне кажется, надо начать с более простых основ, нежели с таймера. Объясните всю вашу задачу, приведите весь ваш код и не забудьте этот код заключить в теги подсветки кода (в редакторе ответов есть кнопочка Код)
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| ddll |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Спасибо это помогло!
Но возникла вторая проблемма вылитает: System.OutOfMemoryException Моя задача в том чтобы скачивать файл в случае если скачиваеться не он а другой(html с ошибкой) через 5 минут повторить. Это приблизительный пример кода.
Проблемма в том что наблюдаеться неадекватная реакция по истичению моего интервала скачиваеться не один а сразу большое количество файлов. Прочитал что таймер надо останавливать
но это к сожалению тоже не помогло. Это сообщение отредактировал(а) ddll - 21.2.2011, 17:34 |
||||
|
|||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
Простите, но ни по вашему краткому описанию, ни по вашему приблизительному коду, мне все еще не понятно, что требуется. Вижу что вы скачиваете файл, но при чем тут таймер, да еще и в цикле, который лихорадочно миллионы раз в секунду (как я понял пока не докачается первый файл) добавляет один и тотже обработчик события к таймеру. Малого того, каждые 30 секунд, не зависимо от того закончилось ли выполнение кода в обработчике события таймера, опять запускает всю имеющуюся пачку подписанных методов. Не сомневаюсь, что OutOfMemoryException приходит очень быстро
-------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| ddll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Моя задача скачивать некий файл(xls) по определенной ссылке если он недоступен скачиваеться html с ошибкой, xls весит приблизительно - 580000 байт html - 34000 тоесть по моей логике пока не закачаеться файл больше 580000 байт выполнять закачку. При этом делая паузу в 5 минут.
Я чувствую что мне надо обойтись без цикла и про верять просто if но только не могу понять как? Очень нужна еще помошь. Это сообщение отредактировал(а) ddll - 21.2.2011, 21:14 |
|||
|
||||
| ddll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
В мыслях крутиться что надо через Таймер организовывать цикл но не могу придумать Как?
|
|||
|
||||
| -Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 4 Всего: 59 |
Код писал прямо тут не проверял, но работать должен. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
| ddll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Спасибо большое завтра буду пробовать!
|
|||
|
||||
| ddll |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 28.1.2011 Репутация: нет Всего: нет |
Спасибо еще раз переделал под такой
В будушем обязательно планирую научиться отличать по формату но сейчас для проверки достаточно и по весу
Это сообщение отредактировал(а) ddll - 22.2.2011, 17:01 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |