Использую WebBrowser на c#. При загрузке файла возникает ошибка Как убрать вывод этого окна без костылей типа в таймере палить не выскочило ли окно и если да то кликать "Нет". Использование браузера обязательное условие. ScriptErrorsSuppressed стоит True
Поидеи хватает WebBrowser1.ScriptErrorsSuppressed = TrueБ Посмотри HtmlWindow.Error вот тут может можно будет перехватывать евент оздания диалогового окна с ошибкой и заменять его своим (ну или на пустоту повесить). Вот тут еще на стековерфло вопрос схожий и пример.
c sharp (Unity3D) Задача: Асинхронно получить ответ от сервера через WebClient и при вызове ивента WebClient.UploadValuesCompleted (который вызывается в отдельном потоке самого WebClient) выбросить ивент. Вопрос: Нужно выбросить мой ивент в стороннем потоке так, чтобы делегат выполнялся в основном потоке. По простому: чтобы побочный поток сказал основному: "Вот, блять! Готово! На те данные от сервера и делай чо хочешь, урод, с ними." Выполнять callback в контексте побочного потока нельзя в силу специфики Unity3D. Есть конечно вариант делать стэк реквестов, ставить флаг об окончании приёма данных и в поле записывать их(данные от сервера), а потом в методе Update(выполняется в юнити каждый фрейм) проверять этот стек и выполнять callback'и ... Code: public delegate void UI(string jsonString); public event UI OnResponse; public delegate void Callback(object obj); ... ... public static void Get() { using (WebClient wb = new WebClient()) { try { wb.UploadValuesCompleted += (sender, e) => { jsonString = Encoding.UTF8.GetString(e.Result); Debug.Log(jsonString); if (_IsError(jsonString)) { OnResponse(null); } OnResponse(jsonString); isDone = true; }; wb.UploadValuesAsync(_serverAddress, "POST", _requestData); } catch (WebException e) { Debug.Log(e); } } } ... ... static public void Logout(Callback callback) { Request req = new Request("logout"); req.OnResponse += delegate(string jsonString) { var response = JsonConvert.DeserializeObject<ServerJson.Status>(jsonString); callback(response.data.result); }; req.Get(); }
Ребята , помогите, мне нужно установить ISP lite на сервер UBUNTU 12.04 есть одно но на сервере уже установлен сайт
Передать функцию/процедуру как параметр (С#) Добрый день, опишу задачу. Необходимо функцию или процедуру с любыми типами параметров различного количества(или без оных) и любыми типами возвращаемых значений передать в другую процедуру. Передача процедур решается путь создания делегата и перегрузок, а вот с функциями дела обстоят несколько сложнее, при том, что надо учитывать тип возвращаемых значений/типы аргументов, а также, что это может быть вообще не функция. Есть идеи как это можно реализовать?
delegate object func(object params)? в случае, если это процедура -- возвращать null, если параметров нет -- передавать тоже null, в противном случае массив/список object'ов. как-то так.
Какая-то неявная грань между функцией и процедурой, мне кажется ты несколько смешиваешь эти понятия, тем самым затрудняя понятие поставленной задачи. Насколько я понял - ты не знаешь сколько параметров будет передано в функцию и сколько она должна будет вернуть или передать параметров в другую функцию? Если так то есть несколько вариантов - objects, свой конструкт или var c занесением в List<type> или Tuple<>.
M@rkus если ты подробнее опишешь что именно тебе нужно делать с получаемыми методами - я скорее всего смогу тебе помочь. возможно тебе вполне хватит MethodInfo? а вообще есть класс Delegate: PHP: static void Main(string[] args) { Action<string[]> a = Main; Proc(a); Func<bool> f = () => true; Proc(f); Console.Read(); } static void Proc(Delegate d) { }
Вот упрощённый код вопроса: Code: class ClassWithEvent { public delegate void EventHandler(); public event EventHandler OnEvent; } class Cls { private static ClassWithEvent _obj; public Cls() { _obj = new ClassWithEvent(); _obj.OnEvent += Event; } private void Event() { Debug.Log("xyi"); } } var x = new Cls(); x = new Cls(); Сборщик мусора прибьёт первые экземпляры классов х, _obj после переприсвоения?
насколько я помню, да, но это может произойти и в момент завершения программы, а может сразу после x = new Cls();
можно принудительно собрать мусор PHP: using System; class Program { static void Main(string[] args) { GC.Collect(2, GCCollectionMode.Optimized); } }
Чат на с# Вообщем написал я чат на с# и у меня возникли 2 проблемы: 1)Чат действует в пределах локальной сети (а хотелось бы расширить его область до интернета). 2)В чате отсутствует Русская кодировка к примеру слово "Чат" он будет писать как "???". Исходники спасайте...
получится ли на языке Java написать АЗ, инжекты или трой скажем на уровне цита, спай, айс? нарна, скорее всего получится, но как это все воркать будет?
Как напишешь, так работать и будет )). Вопрос по C#. Пишу класс сервера/клиента. Проблема заключается в том, что я хочу сделать сервер и клиент "дополнимыми". Т.е. мой класс сервера или клиента используется как базовый, а унаследованный класс имеет такие особенности как особая реакция на полученные и отправленные данные (разобранные на пакеты, конечно). Подскажите, как такое реализовать ? (Собственно, дополнимость). Виртуальные матоды не катят, хочу более изящно . Уже замучался воевать с интерфейсами и абстрактными классами. Заранее благодарю.
Ребят спасибо за ответы, GhostOnline, Spot, FunOfGun Смысл был сделать универсальную обертку для любых функций и процедур. Как пример. Нам необходимо запустить процедуру или функцию с полный подавлением ошибок или наоборот вывести ошибки в базу или например вывести ошибки на экран. Мы делаем обертку типа объявленного делегата в которую заворачивает функцию и дальше выполняем передав ей перечисления типа запуска. И хотелось сделать это как можно более деликатнее... Чтобы не тащить каждый раз типы в параметры, не менять типизацию созданных процедур и не тащить типы выходных данных. Получилось, но как то все равно криво потому что мы все равно тащим сигнатуры. PHP: public delegate object Function(object[] args); public enum LaunchVariant { Debug, Safe }; public static object Launch(Function function, object[] args, LaunchVariant variant) { try { return function(args); } catch (Exception e) { if (variant == LaunchVariant.Debug) { MessageBox.Show(e.StackTrace.Split(new[] {"\r\n"}, StringSplitOptions.None).First(), e.Message); } } return null; }
Я не понимаю что ты хочешь, скорее всего ты и сам не знаешь чего хочешь. Судя по всему, ты говоришь о наследовании.