Delphi - Ayuda error Interbase6 delphi7

 
Vista:

Ayuda error Interbase6 delphi7

Publicado por pedro (6 intervenciones) el 16/07/2004 22:11:11
si alguien conoce otra forma de hacer, por favor ayudenme.

delphi

library funcion;

uses
ShareMem,
SysUtils;

type
TGetSegmentProc = function (Handle: Pointer;
var Buffer; Size: Integer; var Read: Integer): Integer cdecl;
TPutSegmentProc = function (Handle: Pointer;
var Buffer; Size: Integer): Integer cdecl;
PBlob = ^TBlob;
TBlob = record
GetSegment: TGetSegmentProc;
Handle: Pointer;
Segments: Integer;
MaxLength: Integer;
TotalSize: Integer;
PutSegment: TPutSegmentProc;
end;

procedure Str2Text(AText: PChar; Blob: Pointer); cdecl; export;
begin
if AText <> nil then
PBlob(Blob).PutSegment(
PBlob(Blob).Handle, AText^, StrLen(AText));
end;

exports
Str2Text;
begin
end.

esto funciona, al menos compilo la dll, la puse en c:\funcion.dll

en interbase hice esto:

CREATE TABLE "test" ("TEXTO" BLOB SUB_TYPE TEXT SEGMENT SIZE 80);

DECLARE EXTERNAL FUNCTION STR2TEXT CSTRING(255) HARACTER SET NONE RETURNS BLOB ENTRY_POINT 'Str2Text' MODULE_NAME 'c:\funcion.dll';

INSERT INTO test (texto) VALUES (str2text('estoy probando'));

y me de el siguiente error.

Dynamic SQL Error
SQL error code = -206
Column unknown
TEXTO
Statement: insert into test (texto) values (str2text('estoy probando'))

y nada de nada, no se que ocurre.

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda error Interbase6 delphi7

Publicado por BigLuis (713 intervenciones) el 17/07/2004 15:47:58
No se si pudiera ser esto pero fujate que la procedure
procedure Str2Text(AText: PChar; Blob: Pointer); cdecl; export; tiene DOS PARAMETROS y cuando la llamas
INSERT INTO test (texto) VALUES (str2text('estoy probando')); SOLO LE PASAS UNO. Quizas deberias hacerlo asi
INSERT INTO test (texto) VALUES (str2text('estoy probando',TEXTO));
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar