Page 1 of 1

MyDac 5.20.0.13 : EConvertError exception is raised when modifying any data type

Posted: Thu 31 Jan 2008 16:05
by swierzbicki
Hi,

I'm getting Exception Classe EConvertError with message 'Cannot convert type'

This exception is raised from the memdata unit : procedure TData.PutFieldAsVariant

When debugging, Value = 1

Code: Select all

   dtInt64:
      case VarType(Value) of
      {$IFDEF VER6P}
        varInt64: begin
          i64 := Value;
          Marshal.WriteInt64(FieldData, i64);
        end;
      {$ELSE}
        varDecimal:
          Int64(FieldData^) := TVarDataD6(Value).VInt64;
      {$ENDIF}
      else
        raise EConvertError.Create(SCannotConvertType);
      end;

Posted: Thu 31 Jan 2008 20:19
by swierzbicki
I have sent you you a demo + sql script that reproduce this issue

Posted: Tue 05 Feb 2008 09:29
by Dimon
We have received your demo and answered you by e-mail.

Re: MyDac 5.20.0.13 : EConvertError exception is raised when modifying any data type

Posted: Thu 14 Mar 2013 20:29
by pris.almeida
Hi... I'm having the same problem. How did you resolve this?

Thanks,
Priscilla

Re: MyDac 5.20.0.13 : EConvertError exception is raised when modifying any data type

Posted: Mon 18 Mar 2013 15:11
by DemetrionQ
Hello.

Please describe in more details the situation, when the error occurs. Also try downloading the latest MyDAC version 7.6.12 and check if the problem repeats.

Re: MyDac 5.20.0.13 : EConvertError exception is raised when modifying any data type

Posted: Fri 09 Jan 2015 21:35
by neifirst
I am also running into this same situation after upgrading my project to Delphi XE7 and MyDAC to 8.4.12. When I attempt to refresh any DataSet from a TMyTable, I get this exception.

Here's a bit of the thread leading up to this error:
main thread ($2478):
0077e711 +29d FSTdb.exe MemData TData.PutDataAsVariant
0077f7a0 +0b8 FSTdb.exe MemData TData.PutFieldAsVariant
00828b33 +407 FSTdb.exe DBAccess CopyRecBuf
00828c62 +04a FSTdb.exe DBAccess ReadUQFields
008295f3 +7f3 FSTdb.exe DBAccess TDADataSetUpdater.PerformSQL
0082a450 +054 FSTdb.exe DBAccess TDADataSetUpdater.PerformRefreshRecord
008202bd +061 FSTdb.exe DBAccess TCustomDADataSet.RefreshRecord
01171633 +04f FSTdb.exe DBFra 437 +4 TDBFrame.RefreshRecord

Any help would be appreciated, as I'm not sure how to proceed. Thanks!

Re: MyDac 5.20.0.13 : EConvertError exception is raised when modifying any data type

Posted: Tue 13 Jan 2015 11:44
by ViktorV
Unfortunately, we could not reproduce the issue. Please send us a small sample to demonstrate the issue to viktorv*devart*com, including a script to create and fill in the test database object.

Re: MyDac 5.20.0.13 : EConvertError exception is raised when modifying any data type

Posted: Tue 13 Jan 2015 15:59
by neifirst
I believe I've found the issue. Before upgrading to XE7 and MyDAC 8.4.12, I had been running under XE4. I was using a type workaround that was needed for certain version 7 releases of MyDAC 7, detailed here: http://forums.devart.com/viewtopic.php?f=7&t=26116

Once I removed this, everything began working normally. I'm hoping that the type incompatibility issue that this workaround resolved has been resolved in subsequent MyDAC releases.

Thanks!

Re: MyDac 5.20.0.13 : EConvertError exception is raised when modifying any data type

Posted: Thu 15 Jan 2015 10:16
by ViktorV
Glad to see that the issue was resolved. The fix for types incompatibility will be included into one of the next MyDAC builds.

Re: MyDac 5.20.0.13 : EConvertError exception is raised when modifying any data type

Posted: Wed 15 Apr 2015 10:33
by ViktorV
The new MyDAC version 8.5.14 with a fix for this issue are available for download now.