Текущий архив: 2002.11.25;
Скачать: CL | DM;
Вниз
Хорошее занятие если вам нечего делать! Найти похожие ветки
← →
Ru © (2002-11-07 12:42) [0]По количеству веток шкодеров-кодеров и прочей лабуды пришел к выводу, что мой вопрос будет звучать не самым глупым образом.
Исходные условия: Есть Word, моя dll и третья программа.
Задача: Передать данные из dll в Word
Предусловие:
dll подключена к Word:
Declare Function GetЬуфтштп Lib "C:\Windows\Application Data\Microsoft\Word\Startup\дши.dll" () As Single
Известно что тип Single - соответствует типу real.
(последнее полученно методом тыка)
Необходимо:
я делаю следующее беру из окошка третьей программы данные (тип string) функцией своей dll колдую над этими данными и передаю в Word.
Проблема:
передать строку из Word в dll не проблема (это отдельная история)
проблема получить строку из dll в Word
(пробовал передавать строку возникает ошибка, пробовал strtofloat возникает ошибка, пробовал strtoint затем хитрым образом в real ошибка)
Просьба кто-нибудь знает как по-человечески или не по-человечески передать строковый параметр в Word или как его преобразовать таким образом, чтобы Word его съел.
Постусловие:
сервер автоматизации не подходит, с СОМ пока не могу разобраться, есть один метод стопроцентночерезжоповый, но он работает (через левый текстовый файл)
Замечание: вся проблема в согласовании типов Дельфи в слепом васе (Visual Basic)
← →
Игорь Шевченко © (2002-11-07 12:46) [1]COM - оно рулез. Разбирайся
← →
Aristarh © (2002-11-07 12:50) [2]Вот как дают советы настоящие мастера :-)
(в компетентности Игорь Шевченко © не сомневаюсь)
← →
Ru © (2002-11-07 13:08) [3]Сам знаю, что СОМ рулез, но это требует довольно много времени и не просто, а свободного. Сейчас то нужно просто передать данные из длл и получить в ворд.
Я этот вопрос в форуме васиковцев давал ответов ноль просмотров штук десять. Их клинит от такого вопроса и ответить никто не может.
>Aristarh © (07.11.02 12:50)
В компетентности Игоря Шевченко не сомневаюсь. пока не было повода, он дает верные ответы, но проблема то передачи существует. Возможно у меня единичный случай.
← →
Ru © (2002-11-07 15:18) [4]Нашел способ извращение конечно, но не такое как рантше.Ж:)
Объявление процедуры из длл:
Declare Sub MyProc Lib "MyLib.dll" (ByVal Param As String)
Объявление функции:
Declare Function MyFunc Lib "MyLib.dll" (ByVal Param As String) As Single
я использовал типы Single для приема работает.
тип String на передачу работает, на прием программа выполнила недопустимую операцию ...
для получения типа real не пользуйтеся функцией strtofloat вот это место я и делал через пятую точку опоры: стору разрезал для получения двух целых значений, их соединил и преобразовал в инт, а потом числу риал присвоил частное от деления конечного инт на необходимое число: r:=i/10;//i:integer, r:real
Ворд вещь хорошая, но за бесик Била убить мало!!!!!
Страницы: 1 вся ветка
Текущий архив: 2002.11.25;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.021 c