ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 exif info
 New Topic  Reply to Topic
Author Previous Topic Topic Next Topic  

eballinas

Mexico
37 Posts

Posted - Aug 25 2016 :  15:33:03  Show Profile  Reply
I am loading a file using your action.
The image is then saved to a blob field in a firebird db.
Everything is fine, until I try to get the gps info from the exif properties.
I got nothing.
What should I do to get the gps position?

xequte

38615 Posts

Posted - Aug 25 2016 :  16:38:37  Show Profile  Reply
Hi

It sounds like you are not saving the exif meta-data to the database. What method are you using to store it in the blob? How are you retrieving the GPS data?


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

eballinas

Mexico
37 Posts

Posted - Aug 25 2016 :  20:24:01  Show Profile  Reply
I am using a multidbbitmap attached to access The db
I am using The io param properties of The ienmimage to get The gps proerties
Go to Top of Page

eballinas

Mexico
37 Posts

Posted - Aug 25 2016 :  22:09:02  Show Profile  Reply
when you do a loadfromfile, are the gps properties lost?
Go to Top of Page

xequte

38615 Posts

Posted - Aug 26 2016 :  02:52:51  Show Profile  Reply
Hi

No, the parameters are not lost when using IO.LoadFromFile(). Can you show us your code.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

eballinas

Mexico
37 Posts

Posted - Aug 26 2016 :  11:27:57  Show Profile  Reply
unit incidencias;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxGraphics, cxControls, cxLookAndFeels,
  cxLookAndFeelPainters, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint,
  dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
  dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
  dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
  dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins,
  dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
  dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
  dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinPumpkin, dxSkinSeven,
  dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver,
  dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld,
  dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint,
  dxSkinXmas2008Blue, dxSkinscxPCPainter, cxContainer, cxEdit,
  dxLayoutcxEditAdapters, dxLayoutContainer, cxStyles, cxCustomData, cxFilter,
  cxData, cxDataStorage, cxNavigator, Data.DB, cxDBData, hyieutils, iexBitmaps,
  hyiedefs, iesettings, cxMemo, cxRichEdit, cxDBRichEdit, cxMaskEdit,
  cxDropDownEdit, cxCalendar, cxDBEdit, ieview, iemview, cxGridLevel, cxClasses,
  cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
  cxGrid, cxTextEdit, dxLayoutControl, FIBDataSet, pFIBDataSet, DatosGenerales,
  cxGridCardView, cxGridDBCardView, cxGridCustomLayoutView, FIBDatabase,
  pFIBDatabase,iexdbbitmaps, ieopensavedlg, iexActionsMulti, System.Actions,
  Vcl.ActnList, Vcl.Menus, AdvMenus, MDIChildFormControl, cxDBNavigator, cxLabel,
  TaskDialog, TaskDialogEx;

type
  TfrmIncidencias = class(TForm)
    dxLayoutControl1Group_Root: TdxLayoutGroup;
    dxLayoutControl1: TdxLayoutControl;
    cxTextEdit1: TcxTextEdit;
    FOLIOITEM: TdxLayoutItem;
    ImageEnMView1: TImageEnMView;
    dxLayoutControl1Item2: TdxLayoutItem;
    dxLayoutControl1Group1: TdxLayoutGroup;
    cxDBDateEdit1: TcxDBDateEdit;
    dxLayoutControl1Item4: TdxLayoutItem;
    cxDBDateEdit2: TcxDBDateEdit;
    GRUPO2: TdxLayoutGroup;
    cxDBRichEdit1: TcxDBRichEdit;
    dxLayoutControl1Item5: TdxLayoutItem;
    dxLayoutControl1Item3: TdxLayoutItem;
    cxDBTextEdit1: TcxDBTextEdit;
    dxLayoutControl1Item6: TdxLayoutItem;
    cxDBTextEdit2: TcxDBTextEdit;
    dxLayoutControl1Item7: TdxLayoutItem;
    dxLayoutControl1Group5: TdxLayoutGroup;
    dxLayoutControl1Group6: TdxLayoutGroup;
    dxLayoutControl1Group3: TdxLayoutGroup;
    cxGrid2DBTableView1: TcxGridDBTableView;
    cxGrid2Level1: TcxGridLevel;
    cxGrid2: TcxGrid;
    GRUPO1: TdxLayoutItem;
    dxLayoutControl1Group4: TdxLayoutGroup;
    tbcomprobantes: TpFIBDataSet;
    trcomprobantes: TpFIBTransaction;
    trcomprobantesescribe: TpFIBTransaction;
    dscomprobantes: TDataSource;
    cxGrid2DBTableView1NOMBRE: TcxGridDBColumn;
    ActionList1: TActionList;
    ImageEnMViewClear1: TImageEnMViewClear;
    ImageEnMViewDeleteImage1: TImageEnMViewDeleteImage;
    ImageEnMViewSeekNext1: TImageEnMViewSeekNext;
    ImageEnMViewSeekPrior1: TImageEnMViewSeekPrior;
    ImageEnMViewAcquire1: TImageEnMViewAcquire;
    ImageEnMViewSelectAcquireSource1: TImageEnMViewSelectAcquireSource;
    OpenImageEnDialog1: TOpenImageEnDialog;
    AdvPopupMenu1: TAdvPopupMenu;
    SeleccionarFuentedeAdquisicin1: TMenuItem;
    Adquirir1: TMenuItem;
    MDIChild1: TMDIChild;
    ImageEnMViewPromptToAdd1: TImageEnMViewPromptToAdd;
    Adicionardesdearchivo1: TMenuItem;
    cxDBNavigator1: TcxDBNavigator;
    GRUPO3: TdxLayoutItem;
    cxLabel1: TcxLabel;
    dxLayoutControl1Item1: TdxLayoutItem;
    dxLayoutControl1Group2: TdxLayoutGroup;
    Nombre: TAdvInputTaskDialogEx;
    tbcomprobantesCLAVE: TFIBIntegerField;
    tbcomprobantesNOMBRE: TFIBStringField;
    tbcomprobantesCOMENTARIOS: TFIBMemoField;
    tbcomprobantesFECHA: TFIBDateField;
    tbcomprobantesCAPTURA: TFIBDateField;
    tbcomprobantesSOLICITUD: TFIBStringField;
    TBFOTOS: TpFIBDataSet;
    TRFOTOS: TpFIBTransaction;
    TRFOTOSESCRIBE: TpFIBTransaction;
    DSFOTOS: TDataSource;
    TBFOTOSCLAVE: TFIBIntegerField;
    TBFOTOSIMAGEN: TFIBBlobField;
    TBFOTOSNOMBRE: TFIBStringField;
    TBFOTOSCOMPROBANTE: TFIBIntegerField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cxTextEdit1PropertiesValidate(Sender: TObject;
      var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
    procedure TBFOTOSBeforePost(DataSet: TDataSet);
    procedure ImageEnMView1ImageLoaded(Sender: TObject; idx: Integer);
    procedure ImageEnMViewPromptToAdd1Execute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmIncidencias: TfrmIncidencias;
  inicio:boolean;
  fdbmbitmap:tiedbmultibitmap;
implementation

{$R *.dfm}

procedure TfrmIncidencias.cxTextEdit1PropertiesValidate(Sender: TObject;
  var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
  VAR
  ACTIVAR:BOOLEAN;
  MALA:VARIANT;
  CLAVE:STRING;
begin
  CXLABEL1.Caption:='';

  MALA:=
  DATOS.tbsolicitudes.LOOKUP('CUIS',DISPLAYVALUE,'CUIS;NOMBRE1');
  TRY
    CLAVE:=MALA[0];
    CXLABEL1.Caption:=
      mala[1];
    tbcomprobantes.ParamByName('CUIS').VALUE:=
    CLAVE;

      TBCOMPROBANTES.CloseOpen(TRUE);
        grupo1.enabled:=true;
        grupo2.Enabled:=true;
        grupo3.Enabled:=true;

   EXCEPT
  tbcomprobantes.Active:=false;

        grupo1.enabled:=false;
        grupo2.Enabled:=false;
        grupo3.Enabled:=false;
          CXTEXTEDIT1.SetFocus;
        CXTEXTEDIT1.SelectAll;
           end;

end;

procedure TfrmIncidencias.FormClose(Sender: TObject; var Action: TCloseAction);
begin
freeandnil(fdbmbitmap);
end;

procedure TfrmIncidencias.FormCreate(Sender: TObject);


begin
  inicio:=true;
  fDBMBitmap := TIEDBMultiBitmap.create();
fDBMBitmap.DataSource := DSFOTOS;
fDBMBitmap.ImageBlobField := 'IMAGEN';
fdbmbitmap.FollowDBCursor:=true;
ImageEnMView1.SetExternalMBitmap( fDBMBitmap );
imageenmview1.MIO.IEMBitmap.ParamsEnabled:=true;
end;

procedure TfrmIncidencias.ImageEnMView1ImageLoaded(Sender: TObject;
  idx: Integer);
begin
  IMAGEENMVIEW1.EnsureImageLoaded(IDX);
  SHOWMESSAGE(IMAGEENMVIEW1.MIO.PARAMS[IDX].EXIF_GPSLatitude_Str);
end;

procedure TfrmIncidencias.ImageEnMViewPromptToAdd1Execute(Sender: TObject);
begin

end;

procedure TfrmIncidencias.TBFOTOSBeforePost(DataSet: TDataSet);
var
  decision:integer;
begin
  if TBFOTOSNOMBRE.IsNull then
    begin
      decision:=nombre.Execute;
      if (decision=mrOk) then
      begin
        if not(TBFOTOS.state in [dsinsert,dsedit]) then
          TBFOTOS.edit;
        TBFOTOSNOMBRE.value:=nombre.InputText;


      end
      else
      begin
          tbFOTOS.cancel;
      end;
    end;

end;

end.
Go to Top of Page

eballinas

Mexico
37 Posts

Posted - Aug 26 2016 :  11:39:56  Show Profile  Reply
More info:
imageenmview1 has a multidbbitmap attached.
imageenmview1 has actions attached and I am loading the images throug an ImageEnMViewPromptToAdd1 action
Images are saved in a blob. I can see the images and its properties (even gps) but these properties can not be loaded
Help me please
Go to Top of Page

xequte

38615 Posts

Posted - Aug 28 2016 :  19:59:44  Show Profile  Reply
Hi

We have investigated and found a bug that can prevent the EXIF data from being stored. We will have a fix in v6.3.1, but you can also email me for the updated source.

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
Go to Top of Page

eballinas

Mexico
37 Posts

Posted - Aug 30 2016 :  13:04:52  Show Profile  Reply
I sent you an email...
Thanks for your help...
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
Jump To: