Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Delphi WinAPI Разработать программу будильник Установка будильника должна осуществляться с другого компьютера с использованием почтового ящика https://www.cyberforum.ru/ delphi-winapi/ thread1835832.html Добавление переменной в WINApi Delphi WinAPI
пишу приложение, которое будет запускать cmd и выполнять следующие задачи cd c:\WiiU\ & NUSgrabber.exe 0005000010140000 дело в том, что число 0005000010140000 является переменной и пользователь сам должен выбирать его из БД (готово) пробовал так: tick:='0005000010140000'; tickpchar:=pchar(tick); WinExec(PAnsiChar('cmd /c cd c:\WiiU\ & NUSgrabber.exe '+PAnsiChar(tickpchar)) ,...
Delphi WinAPI Получение Handle открытого окна Открываю окно - и мне надо получить его Handle Делаю вот так var SEInfo: TShellExecuteInfo; h : THandle; pid : cardinal; begin ZeroMemory( @SEInfo, SizeOf(SEInfo)); SEInfo.cbSize := SizeOf(TShellExecuteInfo); with SEInfo do https://www.cyberforum.ru/ delphi-winapi/ thread1832926.html Delphi WinAPI SetParent и перемещение окна Delphi xe 10 На форме лежит кнопка, которая запускает калькулятор и устанавливает ему Родителя наше приложение При перемещении калькулятора по форме - окно калькулятора не прорисовывает на рисунке видно Сам код if CreateProcess( 'C:\Windows\System32\calc.exe', nil, @sa, @sa, https://www.cyberforum.ru/ delphi-winapi/ thread1828178.html
Перевести объявления в DLL на Delphi в C Delphi WinAPI
TFisSet = record Pass, INN, RegN, Z: int64; SetD, SetM, SetY: Word; Ok: Boolean end; TFisRep = record Num: integer; RepD, RepM, RepY: Word; SumPlus, SumMinus: Real;
Delphi WinAPI WinApi, integer to string https://www.cyberforum.ru/ delphi-winapi/ thread1825269.html
Всем привет и хорошего настроения... не подскажете, есть ли функция по переводу из интегера в стринг используя только модуль windows? асм вставки может какие? спасибо)
Delphi WinAPI Мощение картинкой фон формы https://www.cyberforum.ru/ delphi-winapi/ thread1818719.html
Написал алгоритм мощения фона. Собственно вот он: While bmi^.bmiheader.biWidth*L<rect.Right do begin While bmi^.bmiheader.biHeight*J<rect.Bottom do begin stretchDiBits(hdc,rect.left+bmi^.bmiheader.biWidth*L,rect.top+bmi^.bmiheader.biHeight*J, bmi^.bmiheader.biWidth,bmi^.bmiheader.biHeight,...
Delphi WinAPI SetEvent + WaitForSingleObject
Есть ли гарантия, что WaitForSingleObject успеет сработать, если другой поток сделает SetEvent и CloseHandle подряд? Добавлено через 37 минут И ещё вопрос: каких значений не бывает у хэндла (кроме 0)? Ну, например, 1 или -1.
Delphi WinAPI Как получить номер USB флешки? https://www.cyberforum.ru/ delphi-winapi/ thread1811721.html
Пробовал так выдвет хрень, какой та номер наверно USB порта program Project1; {$APPTYPE CONSOLE} uses
Delphi WinAPI Sleep - что внутри? Циклrepeat Sleep(1) until ...почти не грузит процессор. Что там такого зашито внутри? Как это можно реализовать кроме как через Sleep? https://www.cyberforum.ru/ delphi-winapi/ thread1809116.html
Delphi WinAPI Как задать имя окна браузера Амиго для поиска дескриптора окна FindWindow
var h: HWND; begin h := FindWindow(nil, 'Amigo'); if h > 0 then По Amigo результат h нулевой, я так понял, не находит
Delphi WinAPI Сгенерировать клик по ссылке активной страницы браузера как на Delphi сгенерировать щелчек по ссылке на активной странице браузера (Амиго например) https://www.cyberforum.ru/ delphi-winapi/ thread1807068.html
0 / 0 / 1
Регистрация: 31.05.2015
Сообщений: 25
28.10.2016, 11:49  [ТС] 0

COM object/Automation - Delphi WinAPI - Ответ 9695529

28.10.2016, 11:49. Показов 1741. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено elite001 как решение

Решение

Цитата Сообщение от MyEternity Посмотреть сообщение
Сообщение от elite001
долго читал разные статьи и прочие заметки
1. Видимо не долго....
Сообщение от elite001
долго не понимал
2. Видимо и сейчас не понимаете.
Сообщение от elite001
вопрос, а действительно нужен этот параметр \RegServer, без него никак?
Ответ: да, действительно. Да, без него никак, смотрите пункт 2.
не понимаю, согласен..
Действительно без регистрации никак..
подскажите еще, пожалуйста, если я добавлю созданный мной интерфейс к наследуемым элементам класса (надеюсь выразился правильно)
т.е.
Delphi
1
TForm1 = class(TForm,IMyInt)
что мне нужно сделать, как объявить функцию, чтобы она срабатывала?
пытался так
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
type
  TForm1 = class(TForm,IMyInt)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  protected
    Procedure Method_2(const pS: WideString);safecall;
    procedure IMyInt.Method_1 = Method_2;
    //procedure Method_1(const pS: WideString);safecall;
  private
  public
 end;
соответственно
Delphi
1
2
3
4
5
procedure TForm1.Method_2(const pS: WideString);
begin
  form1.Caption:=pS;
  messagebox(0,'100','',0);
end;
но ничего не происходит, я уже запутался =( что-то надо инициализировать?
перерегистрировал ехе'шник..
код юнита с интерфейсом, строка в комменте срабатывает..
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
unit Unit2;
 
{$WARN SYMBOL_PLATFORM OFF}
 
interface
 
uses
  ComObj, ActiveX, AxCtrls, Classes,
Project1_TLB, StdVcl,windows;
 
type
  TMyInt = class(TAutoObject, IConnectionPointContainer, IMyInt)
  private
    { Private declarations }
    FConnectionPoints: TConnectionPoints;
    FConnectionPoint: TConnectionPoint;
    FEvents: IMyIntEvents;
    { note: FEvents maintains a *single* event sink. For access to more
      than one event sink, use FConnectionPoint.SinkList, and iterate
      through the list of sinks. }
  public
    procedure Initialize; override;
  protected
    procedure Method_1(const pS: WideString); safecall;
    { Protected declarations }
    property ConnectionPoints: TConnectionPoints read FConnectionPoints
      implements IConnectionPointContainer;
    procedure EventSinkChanged(const EventSink: IUnknown); override;
 
  end;
 
implementation
 
uses ComServ;
 
procedure TMyInt.EventSinkChanged(const EventSink: IUnknown);
begin
  FEvents := EventSink as IMyIntEvents;
end;
 
procedure TMyInt.Initialize;
begin
  inherited Initialize;
  FConnectionPoints := TConnectionPoints.Create(Self);
  if AutoFactory.EventTypeInfo <> nil then
    FConnectionPoint := FConnectionPoints.CreateConnectionPoint(
      AutoFactory.EventIID, ckSingle, EventConnect)
  else FConnectionPoint := nil;
end;
 
 
procedure TMyInt.Method_1(const pS: WideString);
begin
//  messagebox(0,PWIDEChar(pS),'',0);
end;
 
initialization
  TAutoObjectFactory.Create(ComServer, TMyInt, Class_MyInt,
    ciMultiInstance, tmApartment);
end.

спасибо за наставления!

Добавлено через 53 минуты
В общем я совсем запутался в этих интерфейсах, ком объектах и прочем... если в юнит2 добавить в секцию юзес юнит1 и в методе уже оперировать с form1, то все работает, в принципе - то что мне и нужно.. но как теперь вызывать евенты?

Добавлено через 19 часов 9 минут
просто шикарнейшая статья про евенты и комы...
изложено доступно и понятно.. спасибо всем!!!
HTML5
1
http://edn.embarcadero.com/article/27126


Вернуться к обсуждению:
COM object/Automation Delphi WinAPI
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2016, 11:49
Готовые ответы и решения:

Клиент OLE Automation, реализация класса стока событий
Всем привет. Задача такая, есть сервер и клиент OLE Automation. У сервера есть несколько событий,...

Cannot Create Automation Object
Всем привет. Знаю, что ком-объекты зло, но сейчас нет выбора. Проблема такая: Нужно запускать...

Cannot Create Automation Object
Приветствую всех, господа! Очень сложно было открыть эту статью, но уже долгое время не могу решить...

Cannot Create Automation Object
Всем привет! Пытаюсь доступиться к xls файлу через ADO. Windows 2003 Server 64dit . Офиса нет. Пи...

2
28.10.2016, 11:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2016, 11:49
Помогаю со студенческими работами здесь

Automation server can't create object
Всем привет! Я создал в Майкрософт Визуал Студио App for Office MissingPartEvaluation проект. Этот...

VBScript - существование automation object
Прошу прощение за банальный вопрос. Как на VBScript красиво и лаконично проверить, существует ли...

Ошибка 'Automation server can't create object'
... в чем проблема. Пишу на JScript. На попытку открыть файл Excel методом new...

Method 'cell' not supported by automation object
добрый вечер. не понимаю в чем ошибка ... var Form4: TForm4; MRow,MCol:integer; ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru