Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / UPPER / 6 сообщений из 6, страница 1 из 1
14.01.2022, 11:36
    #40126528
jack_vosmerkin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPPER
сурс: 10595275

перепесал на д11 старую процедуру но кажись неправильно

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure SQLite3_UPPER(context: Pointer; argc: Integer; argv: PPointer); cdecl;
var
  a, r: string;
begin
  case sqlite3_value_type(argv^) of
    SQLITE_NULL: sqlite3_result_null(context);
    else
    begin
      a := UTF8ToWideString(sqlite3_value_text(argv^));
      r := AnsiUpperCase(a);
      sqlite3_result_text(context, Pointer(r), Length(r), TResultDestructor(SQLITE_TRANSIENT));
    end;
  end;
end;




вызываю
Код: pascal
1.
sqlite3_create_function(FDConnection1, 'UPPER', 1, SQLITE_UTF8, nil, @SQLite3_UPPER, nil, nil);



в отве получаю
авторAccess violation at address 044569DB in module 'sqlite3.dll'. Read of address 2E007400.

почему?
...
Рейтинг: 0 / 0
14.01.2022, 11:43
    #40126530
Gerasimenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPPER
jack_vosmerkin,

чет по коду вообще не понятно

авторcontext: Pointer
авторsqlite3_result_text(context
авторsqlite3_create_function(FDConnection1

и так далее ... Pointer(r) vs 'UPPER'...


кто ж тебя знает, что ты и где переделал...
...
Рейтинг: 0 / 0
14.01.2022, 11:52
    #40126532
jack_vosmerkin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPPER
конечно напасть легче чем ссылку из первой строки открыть но вопрос в другом сейчас
...
Рейтинг: 0 / 0
14.01.2022, 18:16
    #40126709
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPPER
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure SQLite3_UPPER(context: Pointer; argc: Integer; argv: PPointer); cdecl;
var
  a, r: UTF8String;
begin
  case sqlite3_value_type(argv^) of
    SQLITE_NULL: sqlite3_result_null(context);
    else
    begin
      a := sqlite3_value_text(argv^);
      r := AnsiUpperCase(a);
      sqlite3_result_text(context, Pointer(r), Length(r), TResultDestructor(SQLITE_TRANSIENT));
    end;
  end;
end;
...
Рейтинг: 0 / 0
14.01.2022, 18:23
    #40126711
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPPER
Может, лучше UTF8UpperCase использовать?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.01.2022, 11:51
    #40127721
527470
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UPPER
Уверены что тут

sqlite3_create_function(FDConnection1, 'UPPER', 1, SQLITE_UTF8, nil, @SQLite3_UPPER, nil, nil);

прямо TFDConnection нужно передавать?

Почему не воспользуетесь компонентом TFDSQLiteFunction?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / UPPER / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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