Wolfak: вам MrDywar Pichugin объяснил смысл - либо держите объект или значение в статик-поле на протяжении работы всей программы, либо передаете ОДИН И ТОТ ЖЕ объект с вашим полем в те места, где его нужно использовать. Вообще, стоит вытащить эту переменную и вообще все предметные данные из формы в отдельный модельный объект, в нем все хранить и его передавать куда нужно.
Вы бы с языком поближе познакомились сначала, а раз уж за WPF взялись, так про MVVM почитайте. Например, публичные поля во многих случаях залог для потенциальных проблем в дальнейшей разработке,было бы неплохо обернуть в свойство.
Александр Оба - в смысле две версии одного и того же компонента? или оба в смысле msvcr и msvcp? 3dmax грузит ваши либы, свои, или и ваши и свои одновременно?
Hitsuzen
Неделя поиска работы - это ничего. Это для дворника, может, много, или грузчика, но не программиста. Я на первую фулл-тайм вакансию одно тестовое задание неделю писал, плюс еще переписка дня три-четыре. И потом все заглохло, когда я сказал, что еще учусь, пусть и на последнем курсе). Вакансия была шарповская. Еще одно собеседование (успешное, работаю уже 2.5 года, C++) - дня 2-3 ждал ответа по почте, прислали тестовое, делал 2 недели, еще через 2 дня позвали побеседовать, в течение двух дней сообщили, что берут. Ах да, дело было после НГ, вот на последних раб. днях декабря мы впервые списались по почте, а в начале февраля я вышел на работу. Итого - месяц (!) на то, чтобы понять who is who.
@Tenebrius
Всего запроса будет два, вставка данных в первую таблицу, и вставка данных во вторую, с использованием LAST_INSERT_ID() на месте parent_id:
INSERT INTO foo (val1, val2) VALUES(1,2); # id генерится
INSERT INTO foo2 (parent_id,val) VALUES(LAST_INSERT_ID(),14); # только что сгенеренный id вернется функцией last_insert_id() и сразу подставится в запрос
Виталий Пухов даже если так (1 поток на 1 клиента) - в большинстве реализаций сокетов, один сокет (прослушивающий) принимает коннекты, а при принятии создается новый сокет - который уже вполне можно отдать другому потоку на обслуживание, что и делается в серверах с многопоточной архитектурой (неважно, поток создается или берется из пула). Конечно, это все низкоуровневое решение и врядли оно вам необходимо, тем не менее стоит представлять как это работает в принципе).
@eucalipt
> Да и откуда он вообще узнает, что интерфейс для этого класса есть?
Если он пользуется конкретным языком и фреймворком - то очень полезно знать сущестующие договоренности в языке (например, IEnumerable в C#. Кто не знает что есть такой ифейс, не считается знающим язык) и фреймворке. Если работает с другими в коллективе - коллектив садится, решает и документирует, какие интерфейсы нужны, где будут лежать файлы с кодом определений этих ифейсов, и какие есть доп. договоренности, которые кодом не опишешь.
darkdiver готовое оттестированное решение - это key-value хранилище, коих достаточно на сегодняшний день (например redis.io). Вот как раз вам и будет выгрузка на жесткий диск. А если такая база данных для вас слишком тяжеловесно - то тогда уж лучше свою структуру заточить для своих задач, не такой уж тогда это велосипед.
Виталий Пухов а кстати, вам вообще почему пришла в голову мысль открывать много портов? То что много клиентов коннектятся на один порт это абсолютно стандартная ситуация, никакие порты раздавать не надо.
Neic под версию дотнета какую собираете? Если например у вас 2013 студия, то дотнет там будет по-дефолту 4.5.*, и, например, на XP он даже не встанет, а на семерке предустановленным только 3.5 идет
Tsiren Naimanov я понимаю, вот и ни к чему совершенно выносить показ формы в отдельный поток, показывайте в основном потоке. Если я правильно вас понял, у вас в текущий версии три потока: основной GUI, второй GUI где у вас About, и тертий для сохранения настроек (хотя вообще при чем он, непонятно :) ).
Гарантировано - только при исполнении кода на https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D... , вы должны понимать, что вы не на голом железе и довольно много времени ваш код просто "спит" - т.к. операционка регулярно снимает его с процессора и отдает время другим процессам. В вытесняющим многозадачности вам в принципе не добиться постоянного выполнения кода. А если примерно n секунд - заведите просто таймер, а точное, прошедшее с некоторого момента время отмеряйте вот этим: https://msdn.microsoft.com/en-us/library/system.di...
Роман я в общем-то и не спорю, что драйвер используется для захвата изображения, я говорю что те "сложности" взаимодействия с рабочим столом, о которых мы говорим, не такая уж большая проблема для коммерческого продукта вроде радмина (раз уж там дошли до написания драйверов! значит есть спецы и деньги), а вот для задавшего вопрос это не так просто будет. Ну т.е. возможно не обойдется без вызовов WinAPI, это уже в 10 раз сложнее, чем унаследоваться от класса, не каждый C# программер юзал в жизни P/Invoke. Или придется редактировать реестр. Ну и опять таки, я ж ссылку привел, там написано: Services cannot directly interact with a user as of Windows Vista. Т.е. грубо говоря гайки в Висте позакручивали, теперь нужны определенные воркэраунды. Вот на SO тоже народ обсуждает: serverfault.com/questions/576144/allow-service-to-...
там пишут, что в шестом билдере есть такой компонент - XPManifest, что, мол, кидаешь его на форму, и манифест добавится ресурсом в EXE. Попробуйте, поищите, билдера у меня нет уже лет 7-8, так что пробуйте сами.
Вы бы с языком поближе познакомились сначала, а раз уж за WPF взялись, так про MVVM почитайте. Например, публичные поля во многих случаях залог для потенциальных проблем в дальнейшей разработке,было бы неплохо обернуть в свойство.