Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизКак из 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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.013 c