powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Написание UDR
25 сообщений из 94, страница 1 из 4
Написание UDR
    #39135082
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Подскажите где что можно посмотреть про UDR в FB3, не знаю с какой стороны подойти.
У кого-то с "не разработчиков" есть опыт их написания?
Как воспрользоваться примером в ...\examples\udr ?

P.S. Начинаю посматривать в сторону 3-ки x64 SS, будет необходимость избавится от х86 UDF
...
Рейтинг: 0 / 0
Написание UDR
    #39135083
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

для начала определись на каком языке ты хочешь писать UDR.
...
Рейтинг: 0 / 0
Написание UDR
    #39135102
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, сначала лучше всё-таки проверить, нет ли встроенных функций с тем же функционалом как
у замещаемых UDF.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Написание UDR
    #39135110
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну это само собой
...
Рейтинг: 0 / 0
Написание UDR
    #39135144
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисдля начала определись на каком языке ты хочешь писать UDR.а там что, на java уже можно ваять ?!
...
Рейтинг: 0 / 0
Написание UDR
    #39135147
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

официально пока нет. Но Адриано чего-то там упорно мастерит. На C++ и Delphi можно
...
Рейтинг: 0 / 0
Написание UDR
    #39135186
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, C++ и Delphi в отношении vtable используют один и тот же ABI. И не только они, но и древнююющий Borland Tasm времен NT4.0 для flat модели также совместим с точки зрения виртуальных методов.
...
Рейтинг: 0 / 0
Написание UDR
    #39135192
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructorC++ и Delphi в отношении vtable используют один и тот же ABI. И не
только они, но и древнююющий Borland Tasm времен NT4.0 для flat модели также совместим с
точки зрения виртуальных методов.
Учитывая, что это стандарт COM, ничего удивительного. Но есть ещё совершенно безумный FPC...

PS: Откуда вдруг объекты в ассемблере?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Написание UDR
    #39135201
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovPS: Откуда вдруг объекты в ассемблере?..
Borland TASM был весьма продвинутым. Там не только описывались классы, но и был реализован вызов функций без всяких муторных "mov ebp, esp", push/pop и далее по "тексту". Причем с учетом соглашений о вызовах. Что-то типа "invoke stdcall myfunc, eax, ebx, [myvar]". Точного синтаксиса, естественно, не помню, так как с тех пор прошло почти 20 лет.
Так что вполне можно было цеплять какую-нибудь cstdlib и во всю юзать стандартные сишные функции.
...
Рейтинг: 0 / 0
Написание UDR
    #39135206
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНет, сначала лучше всё-таки проверить, нет ли встроенных функций с тем же функционалом как
у замещаемых UDF.

Нет, таких UDF точно нет.
Может кто-то дать простенький пример на Delphi?
...
Рейтинг: 0 / 0
Написание UDR
    #39135213
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs, держи 18594051 .
...
Рейтинг: 0 / 0
Написание UDR
    #39135504
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructorViktor_bs, держи 18594051 .
Спасибо.
Кхм, а функции сложения 2-х чисел на Delphi ни у кого нет
...
Рейтинг: 0 / 0
Написание UDR
    #39135598
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

а на фига для этого UDR?
...
Рейтинг: 0 / 0
Написание UDR
    #39135692
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисViktor_bs,

а на фига для этого UDR?
:)) Я пример прошу как это сделать.
А вообще нужно, например, переписать набор функций работы с полиномом или матрицей, запихнув их в пакеты с "человеческой" обработкой исключений. Это как минимум...
...
Рейтинг: 0 / 0
Написание UDR
    #39135713
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

каких чисел? С плавающей точкой DOUBLE PRECISION или NUMERIC(n, m) или INTEGER?
...
Рейтинг: 0 / 0
Написание UDR
    #39135726
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисViktor_bs,

каких чисел? С плавающей точкой DOUBLE PRECISION или NUMERIC(n, m) или INTEGER?
Та без разницы. Нужен пример функции, а не процедуры.
Так чтобы она скомпилилась и работала.
...
Рейтинг: 0 / 0
Написание UDR
    #39135814
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

Вот тут лежит. Но рассчитан на Delphi XE5.
...
Рейтинг: 0 / 0
Написание UDR
    #39135842
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНо есть ещё совершенно безумный FPC...

Для него кстати есть пример COM-сервера ,но виджимо никому оказалось не надо, так и лежит почти никем не использованный
...
Рейтинг: 0 / 0
Написание UDR
    #39135929
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochно виджимо никому оказалось не надо
Вспоминая сколько мне пришлось доказывать, что (не) возврат интерфейса из функции в 64-х
разрядной версии это именно баг и именно FPC, я ничему не удивляюсь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Написание UDR
    #39135952
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

кстати в FPC это UDR всё равно не компилируется
...
Рейтинг: 0 / 0
Написание UDR
    #39135955
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисViktor_bs,

Вот тут лежит. Но рассчитан на Delphi XE5.
Спасибо!

А как ее подключить?
Переименовал в udr.dll и кинул в папку plugins.

При создании функции в IBExpert получаю
Error loading plugin UDR.
Standard plugin entrypoint does not exist in module C:\Firebird3\plugins/UDR.

Игрища с конфигом не помогли.
А вообще есть хоть какой-то драфт доки, кроме исходников Adriano?
...
Рейтинг: 0 / 0
Написание UDR
    #39135956
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Симонов Денис!
You wrote on 23 декабря 2015 г. 13:40:23:

Симонов Денис> кстати в FPC это UDR всё равно не компилируетсяиз-за?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Написание UDR
    #39135960
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

ну дык в ошибке английским языком сказано что она должна лежать в plugins/udr
...
Рейтинг: 0 / 0
Написание UDR
    #39135966
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
...
	MessageMetadata = class(ReferenceCounted)
		const VERSION = 17;

		function getCount(status: Status): Cardinal;
		function getField(status: Status; index: Cardinal): PAnsiChar;
		function getRelation(status: Status; index: Cardinal): PAnsiChar;
		function getOwner(status: Status; index: Cardinal): PAnsiChar;
		function getAlias(status: Status; index: Cardinal): PAnsiChar;
		function getType(status: Status; index: Cardinal): Cardinal;
		function isNullable(status: Status; index: Cardinal): Boolean;
		function getSubType(status: Status; index: Cardinal): Integer;
		function getLength(status: Status; index: Cardinal): Cardinal;
		function getScale(status: Status; index: Cardinal): Integer;
		function getCharSet(status: Status; index: Cardinal): Cardinal;
		function getOffset(status: Status; index: Cardinal): Cardinal;
		function getNullOffset(status: Status; index: Cardinal): Cardinal;
		function getBuilder(status: Status): MetadataBuilder;
		function getMessageLength(status: Status): Cardinal;
...
	end;



константы внутри классов он не умеет переопределять. Возможно можно вывернуться, но для этого надо весь модуль FbApi.pas переписать. Или понять как Адриано автоматом генеририровал этот файл с помощью idl
...
Рейтинг: 0 / 0
Написание UDR
    #39135975
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисViktor_bs,

ну дык в ошибке английским языком сказано что она должна лежать в plugins/udr
Ложил, не помогло...
External engine UDR not found.
...
Рейтинг: 0 / 0
25 сообщений из 94, страница 1 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Написание UDR
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]