Topic: ошибка в работе DBImage1

При выполнении этого кода

  imgFile := SQLExecute('SELECT zObrabotka.docCopyPic_filename FROM zObrabotka WHERE id='+IntToStr(FormFinans.TableGrid5.dbItemID) );

     if imgFile<>'' then
     begin
         Delete(imgFile, 1, 1); // удаляем первый слешь
         FormFinans.Label6.Caption := imgFile;
         FormFinans.DBImage1.dbFileName := imgFile; 
         FormFinans.DBImage1.Picture.LoadFromFile( imgFile );
     end;

;

на сервере выдает ошибку:


Происходит за двоение в пути к файлу!

Post's attachments

Attachment icon ps-1.png 19.09 kb, 344 downloads since 2016-11-30 

Re: ошибка в работе DBImage1

Пожалуйста приложите ваш проект, также опишите шаги, которые приводят к появлению данной ошибки.

Dmitry.

Re: ошибка в работе DBImage1

Проект оч большой. Все шаги я описал выше. Ошибку победил следующим исправлением:

         Delete(imgFile, 1, 19); // удаляем 19 позиций задвоения ошибка программ

Но это оч не красиво!

Re: ошибка в работе DBImage1

Проверьте пожалуйста свойство CopyTo у компонента FormFinans.DBImage1
Возможно в нем есть значение, которое приводит к этому задвоению.


Можете выслать проект на support@drive-software.com

Dmitry.

Re: ошибка в работе DBImage1

Вы же видите, что происходит за двоение первых двух папок (почему-то???), путь в ошибке и путь внизу на форме.

Re: ошибка в работе DBImage1

загружаю изображение в рисунок:

procedure FormFinans_TableGrid5_OnClick (Sender: string);
var
    imgFile: string;
begin
     FormFinans.Image1.Picture.LoadFromFile('');
     // узнаем имя файла на диске
     imgFile := SQLExecute('SELECT zObrabotka.docCopyPic_filename FROM zObrabotka WHERE id='+IntToStr(FormFinans.TableGrid5.dbItemID) );

     if imgFile<>'' then
     begin
         Delete(imgFile, 1, 19); // удаляем 19 позиций задвоения ошибка программ
         FormFinans.Image1.Picture.LoadFromFile( imgFile );
     end
     else
         FormFinans.Image1.Picture.LoadFromFile('Рисунки\doc_load.jpg');
end;


свойство CopyTo у этого компонента ОТСУТСТВУЕТ. А ошибка повторяется.

Внутри проекта много коммерческой информации, а без файла базы данных работать отказывается. Скорее всего из-за перезаполнения справочников которые тоже висят в основном файле базы данных.

Re: ошибка в работе DBImage1

попробуйте просто убрать эту строку
Delete(imgFile, 1, 19); // удаляем 19 позиций задвоения ошибка программ


также нет необходимости удалять первый слешь, двойной слешь в имени файла говорит о том, что это сетевой путь.

Dmitry.

Re: ошибка в работе DBImage1

Да, все стало на свои места!

А как теперь именя путь к этому файлу, по клику на рисунке, показывать его в просмоторщике рисунков ВИНДЫ?

Re: ошибка в работе DBImage1

abgroup-artur wrote:

Да, все стало на свои места!

А как теперь именя путь к этому файлу, по клику на рисунке, показывать его в просмоторщике рисунков ВИНДЫ?


procedure Form1_Image1_OnClick (Sender: string);
begin
   OpenFile(imgFile);
end;

если файл необходимо открыть конкретно с помощью какой то программы

OpenFile(imgFile, 'application.exe');
Dmitry.

Re: ошибка в работе DBImage1

procedure Form1_Image1_OnClick (Sender: string);
begin
   OpenFile(imgFile);
end;

Не открывает.

Re: ошибка в работе DBImage1

abgroup-artur wrote:

procedure Form1_Image1_OnClick (Sender: string);
begin
   OpenFile(imgFile);
end;

Не открывает.

попробуйте так

ShowMessage(imgFile);
OpenFile(imgFile);

т.о. вы проверите, действительно ли переменная передает правильное имя файла.


Также возможно в вашей ОС не назначена программа, которая открывает указанный тип файла.

Dmitry.