Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Как из OLE объекта вытащить имена его методов ?   Найти похожие ветки 

 
ANB ©   (2006-05-05 19:24) [0]

По справке я не понял даже как GetIDsOfNames пользоваться.
Но она уже требует на вход имя метода. А как эти имена достать ?
В IDispath всего то 4 функции, но понятна только GetTypeInfoCount.


 
jack128 ©   (2006-05-05 19:40) [1]

ANB ©   (05.05.06 19:24)
А как эти имена достать ?

я так понял дока и tlb файлы - в расчет не принимаются?  Тогда через эти два метода:

function GetTypeInfoCount(out Count: Integer): HResult; stdcall;
function GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): HResult; stdcall;

Только никто не обязан эти методы реальзовывать ;-) А так на сайте app вроде были статейки Тенцера, где этот момент расмотрен..


 
ANB ©   (2006-05-05 19:43) [2]


> я так понял дока и tlb файлы - в расчет не принимаются?

Взять бы еще где эту доку.
Если точнее - мне нужно поработать с объектом Document браузера (хотя бы и IE).
Если есть готовая дока по его методам, буду рад за ссылку.


> А так на сайте app вроде были статейки Тенцера

Это где ?


 
Sergey Masloff   (2006-05-05 19:47) [3]

ANB ©   (05.05.06 19:43) [2]
>Если точнее - мне нужно поработать с объектом Document браузера
А MSDN что не помогает?


 
Sergey Masloff   (2006-05-05 19:48) [4]

Просто но получишь ты список имен методов. Там у некоторых по полтора десятка параметров. И что с ними делать потом?


 
jack128 ©   (2006-05-05 19:57) [5]

Где то здесь.  http://podgoretsky.com/ddp.html

Но тебе это не поможет, см Сергей Маслов.


 
ANB ©   (2006-05-05 20:02) [6]


> А MSDN что не помогает?

Я им пользоваться не умею :( выдает гору мусора, в которой ничего не понятно. А там эта тема есть (про работу с IE как OLE объектом) ? Тогда завтра полезу.


 
Sergey Masloff   (2006-05-05 20:24) [7]

ANB ©   (05.05.06 20:02) [6]
Там на эту тему МОРЕ в том числе СЕРИИ статей буквально от и до.
А что сделать-то надо?


 
jack128 ©   (2006-05-05 20:27) [8]

угу.  http://podgoretsky.com/ftp/Docs/Delphi/Tenser/TenserAll.zip - 9.zip  Там кратенько описано, как использовать  этот Document , ну и оттуда же поймешь, где искать конкретную информацию в msdn


 
Sergey Masloff   (2006-05-05 20:42) [9]

Accessing the Internet Explorer Object Model
What"s New in Internet Explorer 5.5 (Script)
Например это названия топиков там кое-что есть


 
AbrosimovA ©   (2006-05-06 08:11) [10]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ComObj, AxCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   ListBox1: TListBox;
   Edit1: TEdit;
   Label1: TLabel;
   Label3: TLabel;
   Edit3: TEdit;
   Label4: TLabel;
   procedure Button1Click(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
 private
  ServerName: string[255];
 public
 end;

var
 Form1: TForm1;
 Srv,Obj: IDispatch;
 ID,DID: cardinal;
 Name: string;

implementation

{$R *.dfm}
uses ActiveX;

Function GetID(Dispatch: IDispatch; Name:String; var DID:Cardinal):Integer;
var
 P: WideString;
 NameRefs: array[0..32 - 1] of PWideChar;
begin
 P:=Name;
 NameRefs[0]:=PWideChar(P);
 Result:=Dispatch.GetIDsOfNames(GUID_NULL, @NameRefs, 1,
   LOCALE_SYSTEM_DEFAULT, @DID);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 ListBox1.Clear;
 Edit3.Clear;
 ServerName:=Edit1.Text;
 try
  Srv:=CreateOleObject(ServerName);
 except
  Exit;
 end;
 EnumDispatchProperties(Srv, GUID_NULL, VT_EMPTY, ListBox1.Items);
 ID:=GetID(Srv, Name, DID);
 Edit3.Text:=IntToStr(ID);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Srv:=nil;
end;

end.


 
wal ©   (2006-05-06 09:02) [11]


> А там эта тема есть (про работу с IE как OLE объектом) ?

http://msdn.microsoft.com/workshop/browser/webbrowser/reference/objects/webbrowser.asp

http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/obj_document.asp


 
evvcom ©   (2006-05-06 09:17) [12]


> Я им пользоваться не умею :(

Да, с непривычки очень тяжело. А через интернет, если не халява, то еще и дорого. Сразу не найдешь, что нужно. Лучше установить на винт эту огромную справку от мелких и мягких. Последний MSDN какой видел был на DVD вместе с новым Visual Studio. Дома у меня версия еще от 2004 года 1,5 Гига занимает. :o) А там ищещь объектную модель IE.
Еще может помочь поиск по форумам WEB-программистов или конкретные скрипты с любых сайтов, где ты заметишь какое-нибудь интересное поведение броузера. В том же DHTML, JavaScript, VBScript используется та же объектная модель броузера.


 
Sergey Masloff   (2006-05-06 09:35) [13]

evvcom ©   (06.05.06 09:17) [12]
У меня например 5 MSDN ов одновременно стоит
2001
2003
2005
2003 for VS.NET2003
2005 for VS.NET2005
Причем различия реальные в них ;-) Правда 2001 практически ен пользуюсь уже. А так уже второй шкаф скоро придется начинать под диски с MSDN


 
evvcom ©   (2006-05-06 09:44) [14]

А нафиг столько? Последний ставишь и делов. В нем же различия между старыми версиями продуктов (тот же IE) указаны. В моем MSDN все собрано (ну что было выпущено MS на тот момент) и офис, и IE, и VS (Си, басик, фокс) и WinAPI. Да чего там только нет! И даже .NET.


 
Sergey Masloff   (2006-05-06 09:49) [15]

evvcom ©   (06.05.06 09:44) [14]
Не совсем так. Справка - да, практически все есть. Но
1) С VS 6.0 интегрируется только 2001
2) Если по собственно справке в новых версиях все есть то статьи и примеры отличаются. Так что у меня алгоритм поиска по нисходящей - сначала в самой свежей потом вниз. И несколько раз ТАК выручало что теперь вопрос просто не стоит.


 
ANB ©   (2006-05-06 17:54) [16]


> А что сделать-то надо?

Вообще то я хотел (для тестирования) получить список всех элементов страницы (хотя бы эдиты и кнопки), а то с точки зрения винды - документ - сплошная картинка, только комбобоксы однельными окнами отображаются.

Хотя я как раз нашел ветки с похожим вопросом и в ней ссылку на раздел в MSDN. Сижу - разбираюсь.
ЗЫ. Дома есть MSDN 2004. А на работе пока мне новый комп не купят - он у меня просто не влезет. Правда инет халаявый.



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.075 c
9-1130540296
adolf
2005-10-29 02:58
2006.05.21
help for delphix


2-1146585782
Stupid
2006-05-02 20:03
2006.05.21
как присвоить S значение выделеной строки из ListBox


5-1131963329
GVital
2005-11-14 13:15
2006.05.21
сохранить дерево TreeView с данными


2-1146907050
D@Nger
2006-05-06 13:17
2006.05.21
RxLib и Delphi 7


3-1143109479
yaral
2006-03-23 13:24
2006.05.21
Время выполнения запроса