![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ptOraBlob как параметр TStoredProc [D7]
Val © (2004-01-12 11:53:00)
При попытке запуска процедуры - Access Violation.В чем я ошибаюсь?Работает ли BDE корректно с данными параметрами у TStoredProc?
var P: TStoredProc;
Stream : TMemoryStream;
//...создание процедуры - тут ошибки нет 100%
Stream :=TMemoryStream.Create;
try
(DSMainFrame.DataSet.FieldByName(dxDBGraphicEditMain.DataField) as TBlobField).SaveToStream(Stream);
P.ParamByName("IMAGETYPEID").AsInteger := 2; //photo temporary
P.ParamByName("IMAGESRC").DataType := ftOraBlob;
P.ParamByName("IMAGESRC").ParamType := ptInput;
Stream.Seek(0, soFromBeginning);
P.ParamByName("IMAGESRC").LoadFromStream(Stream, ftOraBlob);
P.ParamByName("IMAGEFILENAME").AsString := DSMainFrame.DataSet.FieldByName(CSEditIMAGEFILENAME.DataField).AsString;
P.ExecProc;
ImageHistoryID := P.ParamByName("IMAGEHISTORYID").AsInteger;
finally
P.Free;
Stream.Free;
end;
Sandman25 (2004-01-12 12:36:00) [1]
[2] Val © (12.01.04 12:29)
Включите Use debug dcu и попробуйте потрассировать. Возможно, поможет.
Val (2004-01-12 12:29:00) [2]
Не показал, потому что там используется функция, которая тянет еще одну..поверьте, там нет ошибки - код функции используется с 97-го года: P := GetTmpSProc("EPRIMAGE_NEW", True);
Ошибка именно на P.ExecProc;
Sandman25 (2004-01-12 11:58:00) [3]
А все-таки зря Вы не показали код инициализации P...
На какой строке ошибка?