Скриптинг в Паскале

Статус
Закрыто для дальнейших ответов.

Andre_hard

Участник
Топикстартер
Сообщения
15
Реакции
0
В связи с некоторыми неудобствами в VB попробовал перейти на Паскаль, но столкнулся с другими неудобствами. А именно не смог найти функцию или какой-то способ для определения типа объекта. Например, ActiveDocument.Selection.Item(i) может вернуть Text, TextFrame или еще чего. В VB есть простая функция TypeName(), которая возвратит строку с именем типа аргумента. То есть "Text", "TextFrame" или еще чего. Аналога в Паскале я не нашел. Если кто подскажет как определить тип объекта в Паскале буду благодарен.
 

KonSer

Участник
Сообщения
16
Реакции
0
Ответ: Скриптинг в Паскале

Замечательно всё работает и в Дельфях...

oInDesign := CreateOleObject('InDesign.Application.2.0');
oSelection := oInDesign.Selection;
if (oSelection.Item[1].TypeName = 'InsertionPoint') then ...
 

Andre_hard

Участник
Топикстартер
Сообщения
15
Реакции
0
Ответ: Скриптинг в Паскале

К сожалению это у меня не проходит.
Metod 'TypeName' not suported automation object".
И действительно ведь нет такого (TypeName) ни свойства ни метода ни у одного объекта InDesign. Что-то нужно еще, чтобы это работало.
 

Oleg Butrin

20 лет на форуме
Сообщения
1 989
Реакции
1 213
Ответ: Скриптинг в Паскале

objectType := TypeOf(object);
 

Andre_hard

Участник
Топикстартер
Сообщения
15
Реакции
0
Ответ: Скриптинг в Паскале

К сожалению TypeOf применим только к объктам типа TObject и порожденным от него. A InDesign возвращает Variant или OleVariant. Приведение же типов TObject(Variant) невозможно.
Пока ничего не получается.
 

BogV

Участник
Сообщения
26
Реакции
0
Ответ: Скриптинг в Паскале

Andre_hard - посмотри исходники любого из моих скриптов или пиши на e-mail - я мыльну тебе соответствующую функцию...
С ув. БогВ
 

Andre_hard

Участник
Топикстартер
Сообщения
15
Реакции
0
Ответ: Скриптинг в Паскале

Как же мне мыльнуть коль мыла нету. Да и скрипты не подписаны.
Мое мыло tverdokhleb@okna.org.ua
 
Статус
Закрыто для дальнейших ответов.