wichtiger ist die Diskussion dazu:
Jose Antonio Sanchez Lazaro at 9/5/2014 12:38:37 AM -
I've just checked that the 64 bits compiler doesn't raise any error.
What is the meaning of MA330?
Tomohiro Takahashi at 9/5/2014 3:39:47 AM -
Could you please attach sample project to reproduce/confirm your issue?
Jose Antonio Sanchez Lazaro at 9/7/2014 1:45:28 AM -
Not attached. I could send a sample project and required DCUs in private.
I guess the problem is related to generics.
Tomohiro Takahashi at 9/7/2014 6:20:21 PM -
ok, if possible, please contact technical support service.
http://support.embarcadero.com/
Jose Antonio Sanchez Lazaro at 11/5/2014 1:52:20 PM -
At the time, in September, I opened the support case, but I hadn't the time to reinstall XE7 (I went back to XE6 in order to work) and rebuild the projects until October. When I was to upload the project the support case was already closed.
Nevertheless after a lot of refactoring my code I've found how to build, In a function like this:
function
TOffendingClass.OffendingMethod<CacheType, InterfaceType>
(const Dictionary: TDictionary<TObject, InterfaceType>;
const CreateFunc: TShotWebObjectConstructor<CacheType, InterfaceType>)
: IQueryableList<IShotWebObject>;
I've changed this:
lista.Indexer := TShotWebIndexer.Create(lista,lista[0].getProperties,savePath);
to this:
lista.Indexer := createIndexer(lista,savePath);
Where createIndexer contains one line:
result := TShotWebIndexer.Create(lista,lista[0].getProperties,savePath);
Héctor Prieto at 10/16/2014 1:39:31 AM -
It can be reproduced by declaring this 6-level data structure:
T6 = TDictionary<Integer, Integer>;
T5 = TDictionary<Integer, T6>;
T4 = TDictionary<integer, T5>;
T3 = TDictionary<Integer, T4>;
T2 = TDictionary<integer, T3>;
T1 = TDictionary<Integer, T2>;
If compiled in Debug mode, the "[dcc32 Fatal Error] F2084 Internal Error: MA330" is produced; if compiled in release mode, no problems occur.
The error doesn't appear with a dictionary 5 levels deep; if T5 is changed to "TDictionary<Integer, Integer>;" everything works fine both in Debug and Release mode.