![]() |
TimerTask
Короче или это ошибка или хз
из Класса который загружен как TimerTask и подвешан на таймер (из метода run()) нельзя вызвать метод какогонить другого класса... при попытке вызова все виснет... в чем ошибка? :) |
Все вызывается и работает. Просто надо помнить что это другой процесс. Нельзя вызывать одни и те же методы одновременно из разных процессов, если это требуется пиши public synchronized void metodName()
И еще задача должна успеть выполниться до следующего ее вызова по таймеру иначе действительно приложение вылетит в трубу. |
хммм... не работает...
код: Main.java Код:
import java.io.IOException; Код:
import javax.microedition.lcdui.Command; ммдя... как я уже 100 раз говорил Маркс с Энгельсом пролетают по полной по напрягу умственной деятельности... они на яве никогда не кодили, ламо блин ушастые... :) |
Надо либо делать метод статичным:
Код:
public static void PAll() { |
а можно так:
public class Main extends MIDlet implements CommandListener { public static GameC GC = null; и public void run() { Main.GC.PAll(); |
респект братва!!! вы просто супер! :)
|
аааагааа :unsure:
так нечестно теперь в этом классе все переменные надо делать static и даже теперь flushGraphics(); низя вызвать поскольку она не объявлена статичной... косячОк... :''(( теперь при вызове MG.setColor(200,200,50); опять все подвисает... эта ведь байда не статичная. |
короче по моему объявить всё статичным это не выход поскольку всё статичным не объявишь... звучит глупо но факт... :''((
|
А как ты хотел. Чтобы вызвать метод другого класса надо или ссылку на него передавать или в статическую переменную записать чтобы всем было видно. Или делать методы статическими и передавать им экземпляр объекта, если их много одинаковых.
|
Часовой пояс GMT +4, время: 22:26. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot