Конференция "Corba" » Описать выделение региона в Photoshop [Delphi, Windows]
 
  • Magelan © (25.05.09 11:40) [0]
    Пробую работать с фотошопом как с COM-объектом. У интерфейса есть метод свойства Selection:

    Select(Region: OleVariant; Type_: OleVariant; Feather: OleVariant;
                        AntiAlias: OleVariant); dispid 1936483188;

    Подскажите как мне описать параметр "Region : OleVariant" в Делфи
    (Остальные параметры по порядку это :
    (, (одна из const типа) PsSelectionType, 0, false).

    Если я описываю Region как Array то при компиляции - "несовместимость типов".
    Если как вариантный массив типа varInteger - в прогоне "Неопознаная ошибка".
    При создании двумерного вариантого массива - в прогоне "Поддерживается одномерный массив".
    Вобщем мои знания на этом себя исчерпали.
  • Magelan © (01.06.09 13:32) [1]
    Дополнение к вопросу, кто владеет языком JavaScript или VBScript.

    В Scripting Guidе for Photoshop приводят такой пример

    VBS

    ShapeRef = Array(Array(0, 0), Array(0, 100), Array(100,100), Array(100,0))
    docRef.Selection.Select ShapeRef

    JS

    var shapeRef = [
    [0,0],
    [0,100],
    [100,100],
    [100,0]
    ]
    docRef.selection.select(shapeRef)

    а как это описать на Delphi 7 ?
  • clickmaker © (01.06.09 13:53) [2]
    а какой тип у параметра shapeRef?
  • Magelan © (02.06.09 14:39) [3]
    Вот так как есть. Просто объявляется переменная и заполняется величиной.
    Все. Я не знаю этих языков. но предполагаю. что компилятор сам определяет к какому типу относятся данные. В делфи тоже есть что подобное открытых процедурных массивов когда можно ввести параметры прямо в вызове процедуры. Я пробывал так и получил неверный аргумент.
  • clickmaker © (02.06.09 15:25) [4]
    а так

    var ShapeRef: OleVariant;

    ShapeRef := VarArrayCreate([0,3], varVariant);
    ShapeRef[0] := VarArrayOf([0, 0]);
    ShapeRef[1] := VarArrayOf([0, 100]);
    ShapeRef[2] := VarArrayOf([100, 100]);
    ShapeRef[3] := VarArrayOf([100, 0]);
  • Magelan © (03.06.09 16:28) [5]
    Вы вернули меня к жизни! Две недели кашмакрных снов, и только мое тупое упорство , умные головы позволили дожить до "выдоха облегчения". ОГРОМНОЕ, ОГРОМНОЕ СПАСИБО!
 
Конференция "Corba" » Описать выделение региона в Photoshop [Delphi, Windows]
Есть новые Нет новых   [134427   +34][b:0][p:0]