Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
4 / 4 / 0
Регистрация: 11.10.2014
Сообщений: 108
1

Как подключить к Дельфи и добиться работы от данных dll?

12.04.2016, 15:08. Показов 1861. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте


http://multitran.ru/DownLoad/lemm.zip здесь есть пример только на c, как его к дельфи прикрутить, совершенно непонятно. Автор не знает, спрашивала.

Здесь есть пример на дельфи 5, но в моей версии XE6 он не работает.
http://macrocosm.narod.ru/download/winmcr3.0.zip

Помогите, пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2016, 15:08
Ответы с готовыми решениями:

Как правильно подключить dll для успешной работы приложения на другом ПК
Я добавляю в References проекта dll прописываю using но проблема в том что если запустить эту...

Как подключить Tesseract-ocr к Дельфи?
Добрый день! Не могли бы подсказать, как можно подключить Tesseract-ocr к делфи?

Как подключить СУБД сделанную в дельфи к сайту
Я вот сделал Таблицу данных в Дельфи через компоненты АДО. Так вот я теперь хочу его подключить к...

Как при создании своей dll подключить туда сторонние dll
Здравствуйте, я работаю в связке C# - Oracle. Если коротко, то вопрос звучит так: "Как при создании...

5
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.04.2016, 15:15 2
заменяй все декларации String на AnsiString, Char на AnsiChar, PChar на PAnsiChar
1
4 / 4 / 0
Регистрация: 11.10.2014
Сообщений: 108
12.04.2016, 16:00  [ТС] 3
Вроде бы сделала. Грузится оно грузится, говорит, что все ок. Только даже для тестового примера "интернет" возвращается -1, словоформы не найдены. Плюс еще ранее я сама нашла, что надо Integer менять на int64, иначе не грузился словарь. Возможно, не во всех местах заменила?
Вложения
Тип файла: 7z text.7z (913.1 Кб, 1 просмотров)
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.04.2016, 16:18 4
Лучший ответ Сообщение было отмечено ElenaTomsk как решение

Решение

как минимум здесь:

procedure TForm1.NFindClick(Sender: TObject);
var
s,s1:Ansistring;

Добавлено через 1 минуту
т.е. лок.переменные, передаваемые в либу по PAnsiChar-указателю, обязаны быть AnsiChar
0
4 / 4 / 0
Регистрация: 11.10.2014
Сообщений: 108
12.04.2016, 16:32  [ТС] 5
Спасибо большое. Я там еще в паре мест подправила char на AnsiChar и похоже, что в этот раз все работает (все тестовые примеры точно работают), если кому впредь будет нужно, архив прикладываю.
Еще бы, конечно, не только сделать, но понимания, что было сделано.
Вложения
Тип файла: 7z text_ready.7z (1.76 Мб, 10 просмотров)
0
4 / 4 / 0
Регистрация: 11.10.2014
Сообщений: 108
13.04.2016, 08:45  [ТС] 6
Нет, поспешила. Осталась проблема, информация по слову не выводится. В цикл for i:=0 to Uid.count-1 do не заходит, потому что
Uid.count всегда 0.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
procedure TForm1.NFindClick(Sender: TObject);
var
s,s1:AnsiString;
// count:integer;
count,i,rc:integer;
Uid :Tids;
WData:TWs;
cstr,vstr:array[byte] of AnsiChar;
begin
         tmpId:=0;
         s:=Edit1.Text;
         count:=FindWID(PAnsiChar(s),@Uid);
         say('Для слова "'+s+'" найдено словоформ: ' +IntToStr(count));
         for i:=0 to Uid.count-1 do 
         begin
                rc:=GetBid(uid.ids[i].lnk,uid.ids[i].en,false,false,@WData);
                if rc>=0 then
                begin
                 strcopy(cstr,CTS(WData.inlex[0].cid));
                 strcopy(vstr,VTS(WData.inlex[0].cid,WData.inlex[0].vid));
                 if tmpId<>uid.ids[i].lnk then
                    begin
                     s1:='Лемма: '+StrPas(WData.inlex[0].anword);
                      say('');
                       end
                         else s1:='';
                 tmpId:=uid.ids[i].lnk;
                 say(s1);
                 s1:=#9+'* '+StrPas(cstr)+#9+StrPas(vstr);
                 say(s1);
                end
                else  say('Err:'+Inttostr(rc));
         end;
 NBGH.Enabled:=true;
end;
0
13.04.2016, 08:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2016, 08:45
Помогаю со студенческими работами здесь

Как подключить dll (SmartCOM3.dll) к php через расширение php_com_dotnet?
Доброе время суток. Передо мной встала задача через php подцепить SmartCOM3.dll. В мануале...

Как подключить свою dll к другой DLL (не своей) с проверкой?
Привет всем. Не знаю куда написать, напишу сюда. Вопрос такой: хочу подключить свою dll к другому...

Как подключить ssleay32.dll & libeay32.dll
Всем привет. У меня QT5 Собран статически, но без openssl. Как мне сейчас можно поступить, что бы...

Как подключить dll, написанную на C, к dll на Delphi
Добрый день! Нужно подключить dll написанную на C к dll на Delphi. Как это можно сделать и можно ли...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru