Compile DataAbstract project with C++ Builder 64 Bit

Good morning,

I was amazed when I saw that you did a great job to support even C ++ Builder, After loading the beta 9.2.102.1277, I created a project dataabstract running in C ++ builder in 2 minutes. Really great. Unfortunately it all works a treat only with the 32-bit compiler, in fact, trying to compile<a class=“attachment” 64 bits there are several compilation problems.

Error in header uDAInterfaces.hpp line 106

#pragma option pop
	__property bool EOF = {read=_scw_GetEOF}; // this line produce [bcc64 Error] uDAInterfaces.hpp(106): expected member name or ';' after declaration specifiers
#pragma option push -w-inl

to go I put forward before

#ifdef _WIN64
#undef EOF
#endif

but I do not know if it’s right

next:

void __fastcall Create_DataService(/* out */ _di_IInterface & anInstance)
{
new TDataService(NULL)->GetInterface(anInstance); // this line produce [bcc64 Error] DataService_Impl.cpp(21): expected ';' after expression

// I have changed to
TDataService *DS = new TDataService(NULL);
DS->GetInterface(anInstance);        
// and compile ! 
}

// The same issue resolved like above
void __initialization_DataService_Impl()
{
	new TROClassFactory("DataService", Create_DataService, __classid(TDataService_Invoker))- >GetInterface(fClassFactory_DataService);
	// RegisterForZeroConf(fClassFactory_DataService, "_DataService_rosdk._tcp.");
}

After these changes the compilation succeeds, but can not link: Unresolved External UROServer :: BeforeInvoke and UROServer :: AfterInvoke.
And on this I’m stuck and I ask your help.

I enclose a test project so you can do the verification of what I said.

thank you
Best Regards

Adriano

testRemobjects.zip (75.6 KB)

what version of C++Builder was used?
afaik, it was OK with C++Builder from XE7 and XE8

Embarcadero® C++Builder 10 Seattle Version 23.0.21418.4207
Copyright © 2015 Embarcadero Technologies, Inc. All Rights Reserved.

RemObjects SDK Version 9.2.102.1277

Thanks, logged as bugs://77240

Hello and thank you again.

Ok, meanwhile I think I have found another problem, I’ve compiled a minimal server with only one table in the schema, and when I try to open the table from client created with the wizard I get the error

Then I created a new ‘ApriTabella’ method that uses a LocalDataAdapter to open the table, but it faults also the one with:

Now I do not know if I’m wrong or not, but the same project generated in Delphi works fine.

I attach the server project that I used for this test and contains an access database with a test table, for the client I have used your wizards and for the call in design time I used the TDADesigntimeCall component to call the ‘OpenTable’ method.

I saw that in Delphi all works very well, but unfortunately I need to incorporate an old application written in C ++ builder and contains hundreds of classes, I can not convert it to Delphi in a reasonable time.

So, maybe as an alternative you could advise me how I might do to supplement the classes written in C ++ builder in a service written in Delphi.

thanks always
Adriano

daserver.zip (2.3 MB)

hmm, LDA works with C++Builder without any problems (I’ve dropped LDA to main server form):

bugs://77240 got closed with status fixed.

I’ve retested your project in C++ Builder/win64 and it was compiled w/o errors with Delphi 10.2 Tokyo.
Can you retest it with the latest beta of DAD?

Ok now i test…
thank you

Best Regards