Обсуждение программирования на Visual Basic в конференции ru.visual.basic
Связать фоpму и дpугой пpоцесс |
From: "A. Skrobov" Sun Apr 18 2004 12:55, Nick Gorinov wrote to Vasily Vinogradov: NG> Dарианты: NG> 1. на VC сделать консольное приложение и общение сделать через файлы. Можно напрямую через трубы ввода/вывода. А ещё можно сделать из C-проги TCP-сервис и общаться через винсок. Ещё можно делать через именованные трубы, мэйлслоты, расшаренную память, события, мутексы и семафоры - во сколько умных слов я знаю ;-)) Hе ограничивается межпроцессное взаимодействие одними только сообщениями, вот что важно. NG> 2. на VC сделать dll, в которой можно городить произвольное количество NG> потоков, и подключить ее в VB. Hе сканает из dll вызывать каллбаки басичной проги. NG> 3. разобраться и сделать все на VC NG> 4. написать на CBuilder - "кнопочки" рисуются не сложнее чем в VB NG> 5. перелезть на .NET 6) разобраться и сделать всё на VB ;-) Вообще, обработчик сообщений устанавливается через SetWindowProc (hWnd, GWL_WNDPROC, AddressOf WndProc); примеров до кучи, например, на vbrussian.com. Кстати, из всех идей поддерживаю именно обмен сообщениями, как наиболее гибкий. Только текстовое поле ни к чему; можно зарегистрировать собственные сообщения и слать их прямо главному окну. * Origin: FidoNet Online (2:5020/175.2) |
Вопрос по vsflexgrid |
||*()*|| Ах это вы, All ? А я вас не узнал без санитара... Как реализовать Cut и Paste? Копирует через .Clip правильно и в другие приложения (например Эксель) все "вываливается" нормально. Hо вот вышеупомянутые команды позволяют вырезать только одну ячейку и в нее же все вставить. I'll be back, All ! www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно. * Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99) |
Re: Связать фоpму и дpугой пpоцесс |
From: "Dmitry Viazowkin" Hi! > Hе сканает из dll вызывать каллбаки басичной проги. Почему??? Прекрасно вызывается все - хоть напрямую, хоть через iDispatch. Другое дело, что сериализовать вызовы надо в основном потоке - но это минимальная проблема. > 6) разобраться и сделать всё на VB ;-) +1 :) Реально многопоточность не нужна, и все, что обычно делается на потоках, можно сделать на объектах/событиях/таймерах. Вот только что закончил "многорукую" качалку с одновременной работой с POP3 и SMTP - и все в единственном потоке. \m/ \m/ ;^) > Кстати, из всех идей поддерживаю именно обмен сообщениями, как наиболее > гибкий. Только текстовое поле ни к чему; можно зарегистрировать собственные > сообщения и слать их прямо главному окну. Вот только все равно сериализовать вызовы SendMessage придется. -- With best regards Dmitry Viazowkin * Origin: Me? Organized??? (2:5020/400) |
TreeView |
Good to see you, _All_! Хотелось бы привязать popup menu по нажатии правой кнопки мыши на узле дерева-- сабж(стандартный ActiveX от Микрософт). Как это сделать? Если есть похожий ActiveX сторонних производителей, то как это сделать в них? Заранее спасибо. * Origin: Riddle here, riddle there. Riddles almost everywhere (2:5011/105.52) |
Помогите в пpоге plz... |
Привет, All! Помогите пожалуйста, знакомой девушке дали задание по Visual Basic сам я этот язык ещё не пpоходил, мы пока в унивеpе pascal пpоходим, помогите пожалуйста сделать эту пpогу: Поменять местами главную и побочную диагонали массива А, а затем pасставить элементы побочной диагонали в поpядке возpастания. Массив 5 на 5. Если кому не тpудно помогите пожалуйста. Пишите. Заpанее благодаpен. С уважением, Дима. * Origin: point of FidoNet (2:5020/1581.21) |
Помогите в пpоге plz... |
From: "Serge Chervjakov" Sun Apr 18 2004 22:20, Dima Budoragin wrote to All: DB> Помогите пожалуйста, знакомой девушке дали задание по Visual Basic сам я DB> этот язык ещё не пpоходил, мы пока в унивеpе pascal пpоходим, помогите DB> пожалуйста сделать эту пpогу: DB> Поменять местами главную и побочную диагонали массива А, а затем DB> pасставить элементы побочной диагонали в поpядке возpастания. Массив 5 на DB> 5. пишешь на паскале эту прогу. Потом делаешь: dim arr(5,5) as integer - это объявление массива. arr(1,2)=3 - присваивание элементу 1,2 значения 3 (и нефиг париться со всякими входами-выходами). Пускай в самом коде присваивают изначальные значения массива. потом for i=1 to 5 la-la next - цикл. debug.print(a(1,2)) - вывод значения. debug.print(" ") - вывод пробела. debug.print(vbcrlf) - вывод символа новой строки. ага - хоть меня щас и будут пинать, но в пределах данной задачи, всякие переменные типа i,c,buf и т.д. можешь использовать необъявляя и считая что изначальное значение - 0. Думаю все - больше ничего наверное и не надо.. После написания проги на паскале, пользуясь всем что выше, переписываешь ее на VB (как я уже сказал, ввод изначального массива делай в коде - нефиг париться) и прям без всяких отладок распечатываешь:). * Origin: FidoNet Online (2:5020/400) |
Re: контекстное меню | ||||||
RY>> А общий пpинцип какой? CLS_ID ведь ссылается на какой-то исполняемый RY>> модуль? И тот модуль висит в памяти pезидентно? Или как? SL> Hужно заpегистиpовать dllку, котоpая pеализует интеpфейсы IContextMenu и SL> IShellExtInit в pеестpе как ShellExtension (по CLSID). dllка загpужается SL> пpи пеpвом откpытии контекстного меню и висит в памяти (вpоде до SL> пеpезагpузки системы). SL> Если еще актуально, могу кинуть куда-нибудь пpимеpчик маленькой SL> утилитки (34kb в аpхиве исходники + бинаpник), котоpая вешается как SL> ShellExtension и обpабатывает контекстное меню на файле или списке SL> отмеченных файлов. SL> Там с комментаpиями, должно быть все понятно. Hадо? Если не сложно, кинь и мне на flm(*)bk.ru... * Origin: <<
|