Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.09.2012, 11:22
Ericnex Ericnex вне форума
Прохожий
 
Регистрация: 19.09.2012
Сообщения: 6
Репутация: 10
По умолчанию Работа с UDF-функциями

Учебное задание: Создать UDF-функцию, которая позволяет строковое значение заключить в символы «», например, Спорт – «Спорт». В клиентском приложении осуществить выборку записей из таблицы Оптовый магазин, изменив написание Название магазина.
Сделал все вот так, проверьте на наличие ошибок, пока программа не работает.
Описание DLL:
Код:
library Project2;
 
uses
  SysUtils,
  Classes;
 
function MyDLL (S: string) : String; cdecl; export;
 
{$R *.res}
 
begin
Result:=Format('«%s»',[s]);
end;
exports MyDLL index 1;
begin
end.

Описание DLL на сервере:
Код:
DECLARE EXTERNAL FUNCTION MYY
    CSTRING(20)
RETURNS CSTRING(20)
ENTRY_POINT 'NewDLL' MODULE_NAME 'MyDLL';

Вызов в Delphi:
Код:
procedure TForm1.Button26Click(Sender: TObject);
begin
datamodule2.Q6.Close;
datamodule2.Q6.SQL.Clear;
datamodule2.Q6.SQL.Text:='select Nazvanie from OptMagazin where MYY=s';
datamodule2.Q6.Open;
end;
Ответить с цитированием
  #2  
Старый 19.09.2012, 11:31
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

MYY же функция, а модуль Project2.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 19.09.2012, 17:13
Ericnex Ericnex вне форума
Прохожий
 
Регистрация: 19.09.2012
Сообщения: 6
Репутация: 10
По умолчанию

Мне как раз и надо вызвать функцию, но как?
Ответить с цитированием
  #4  
Старый 19.09.2012, 17:56
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

MYY("что-то")
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 20.09.2012, 06:16
Ericnex Ericnex вне форума
Прохожий
 
Регистрация: 19.09.2012
Сообщения: 6
Репутация: 10
По умолчанию

Покажите полностью программно как это выглядит.
Ответить с цитированием
  #6  
Старый 20.09.2012, 10:01
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код HTML:
DECLARE EXTERNAL FUNCTION MYY CSTRING(20) RETURNS CSTRING(20) ENTRY_POINT 'MyDLL' MODULE_NAME 'Project2';

Код:
library Project2;

uses
  SysUtils,
  Classes;

function MyDLL(s: PChar): PChar; cdecl;
begin
  Result:=PChar(Format('"%s"', [s]));
end;

exports MyDLL;

begin
end.

Код:
select MYY(Nazvanie) from OptMagazin
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 21.09.2012, 06:10
Ericnex Ericnex вне форума
Прохожий
 
Регистрация: 19.09.2012
Сообщения: 6
Репутация: 10
По умолчанию

А как правильно скопировать сам файл DLL в папку UDF в InterBase?
Ответить с цитированием
  #8  
Старый 21.09.2012, 08:42
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Ctrl+C (копировать) - Ctrl+V (вставить), либо в Total Commander F5.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #9  
Старый 21.09.2012, 08:54
Ericnex Ericnex вне форума
Прохожий
 
Регистрация: 19.09.2012
Сообщения: 6
Репутация: 10
По умолчанию

Сделал все как в примере, ошибка выскакивает
Изображения
Тип файла: png Безымянный.png (16.8 Кбайт, 4 просмотров)
Ответить с цитированием
  #10  
Старый 21.09.2012, 09:31
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

а DBManager?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #11  
Старый 21.09.2012, 09:57
Ericnex Ericnex вне форума
Прохожий
 
Регистрация: 19.09.2012
Сообщения: 6
Репутация: 10
По умолчанию

Не знаю что это. Для доступа к данным использую Query, DataBase и DataSource
Ответить с цитированием
  #12  
Старый 21.09.2012, 09:59
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

родная утилитка об БД. название, естественно, может быть другим по понятным причинам.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter