Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2010, 16:04   #1
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию СОМ технологии в Делфи. Подключить нужный обьект

Вы можете использовать возможности, предоставляемые программой Xxxx.xxx в программах на языке Visual BASIC благодаря технологии COM.

Строка
Set XxxObj=CreateObject("Xxx.Document")
означает, что будет создан новый "документ" в программе Xxx, которая будет запущена, при необходимости. Мы не увидим ни запуска Xxx, ни появления еще одного окна с пустым документом. Это произойдет незаметно для нас, вновь созданный обьект не будет воспринимать воздействий со стороны пользователя, но готов принимать команды из нашей программы на Visual Basic, список которых будет приведен ниже.


long GetStatus() состояние проигрывателя .

Вопрос начинающего - как все это привязать к Delphi ?
z-wer вне форума Ответить с цитированием
Старый 03.03.2010, 16:15   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...технология COM поддерживается delphi
...не видно описания API программы на Visual Basic
...название темы не согласуется с содержимым
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 03.03.2010, 16:55   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
unit Unit1;

interface

uses       comobj,
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var      k:OleVariant;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 k:=CreateOleObject('Xxx.Document');
end;

end.
Теперь если not VarIsClear(k) ты можешь обращаться к полям обьекта k
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.03.2010, 09:22   #4
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

Спасибо, что не запинали ногами.

Собственно вопрос состоит в следующем.
Есть "железка" в компе. Управляет этой железкой сторонняя прога.
Есть описание апи этой проги, на основе VB.

Несколько функций типа
Set ХХХObj=CreateObject("XXX.Document")
long GetStatus() состояние проигрывателя
void AssignValue(LPCTSTR Name, LPCTSTR Value)
присвоить переменной среды Name значение Value
BSTR GetValue(LPCTSTR Name)
получить значение переменной с именем Name

и т.п.

Есть несколько примеров скриптов на VB для взаимодействия с этой прогой.

Задача состоит в том - что нужно все это взаимодействие организовать через свою программу на делфи.

Сорри, я совсем начинающий, причем даже не студент.
z-wer вне форума Ответить с цитированием
Старый 04.03.2010, 09:25   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
нужно все это взаимодействие организовать через свою программу на делфи.
Ну дык что мешает организовывать? )
Изучай функционал, и пиши в Делфи.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.03.2010, 09:41   #6
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну дык что мешает организовывать? )
Изучай функционал, и пиши в Делфи.
Недостаток знаний.

Пару бы примерчиков, типа как кирпичики на льду.
От чего бы можно было оттолкнутся, а то как-то скользко...
z-wer вне форума Ответить с цитированием
Старый 04.03.2010, 09:50   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Пару бы примерчиков, типа как кирпичики на льду.
Ну дык это нужно функционал твоей бяки знать...
Если кирпичики интере-суют то беря мой пример, можно написать
Код:
k.Visible:=true
При условии что такое поле в k есть.
Ибо тебе возвращается почти обычный объект, и работать нужно с ним как с обьектом.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.03.2010, 10:02   #8
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

Если кирпичики интере-суют то беря мой пример, можно написать

Немного бы поподробней...
Потому как на просторах нета особо ничего не нарыл.
Мож совсем плохо рыл...

Спасибо, за терпение и Сорри за ламмерские вопросы.
z-wer вне форума Ответить с цитированием
Старый 04.03.2010, 10:11   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

TC, загляните сюда (пост #6)
скачать
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 04.03.2010 в 10:14.
raxp вне форума Ответить с цитированием
Старый 04.03.2010, 10:43   #10
z-wer
Пользователь
 
Регистрация: 03.03.2010
Сообщений: 89
По умолчанию

За "пинки" спасибо.
Жму кнопку "Мозги ON".
z-wer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо подключить датчик к СОМ порту SashaIV Win Api 3 22.09.2009 00:08
Делфи и технологии ActiveX, ASP JUDAS Общие вопросы Delphi 0 28.03.2009 16:26
Как мне подключить компонент myodbc к делфи Droid БД в Delphi 0 18.02.2009 19:47
Не могу создать обьект mrandrey Общие вопросы Delphi 6 04.06.2007 16:04