Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.018 c
4-83069
svv
2002-10-14 19:19
2002.11.25
Необходимо удалить несколько записей из реестра...


14-82922
irmantukas
2002-11-05 01:32
2002.11.25
Delphi 7


3-82586
Maloi
2002-11-07 22:25
2002.11.25
Помогите! Как отловить ID только что добавленной записи?


4-83072
Василий2
2002-10-14 12:50
2002.11.25
Как в консольной проге


14-82978
Denvor
2002-11-03 03:01
2002.11.25
Как мастдай не назови, хоть NT, а хоть XP...