Menu
Embarcadero
Third Party
Related Sites


[remobjects.public.dataabstract.delphi]

Last 20 msg

Re: DA trial woes - (was Re: DataAbstract ComboServer wizard not appearing - delphi trialversion)
Vladimir Lukyanchenko [RemObjects Software] [07 Sep, 15:26]

Read complete thread - Add Vladimir Lukyanchenko [RemObjects Software] to favorite authors (login)
Hello Leonardo,
You wrote:
 > Now I clicked on some "publish" right mouse button from the
 > Schema component and everything stopped working. Got errors about
 > "GetSchemaAsXML" being undefined. Looked at the documentation and it
 > says it's deprecated. Why a wizard would generate deprecated code?
Did you create your project as "v3 Legacy Server"? It's an obsolete 
project template and it's used
for compatibility with old DA versions.
Please recreate a project by using new templates, for example "Combo 
server".

 > Word of advice: don't try to create a schema against Northwind or
 > whatever if you aren't sure that you actually have MSSQL installed on
 > your machine.
 > I'm pretty sure I don't have the Northwind database, or
 > Employee.
New samples use PCTrade by default, but old samples use Northwind.

 > An exception was raised
 > on the server: Unknown driver SQLite.
You should add drivers to ServerDataModule before launching server.

 > "There are errors."
 > [DCC Fatal Error] fServerDataModule.pas(10): F1026 File not found:
 > 'uDASQLiteDriver.dcu'
This driver is not shipped in trial version, but we can send you this 
driver by request on support@

-- 
With Best Regards

Vladimir Lukyanchenko
RemObjects Software
http://www.remobjects.com
Re: DA documentation - (was Re: DataAbstract ComboServer wizard not appearing - delphi trialversion)
Vladimir Lukyanchenko [RemObjects Software] [07 Sep, 15:13]

Read complete thread - Add Vladimir Lukyanchenko [RemObjects Software] to favorite authors (login)
Hello Leonardo,
We are working on WIKI documentation every day.
If you can any problems with project you can send us a testcase. We will 
help you resolve any questions.

To create a project which logins to multiple databases you can use two ways:
1. Create a new project. 
File->New->Others->RemObjectsDataAbstact->MultidbLoginServer
2. Add a login service to your existing server app.

== server side ===
  a) Activate server part of the project
  b) Open ServiceBuilder for the current project (menu 
RemObjectsSDK->EditServiceLibrary)
  c) Add a new service based on MultiDbLoginServiceV5
  d) Close ServiceBuilder
  e) Add OnLogin and OnLogout events to your LoginService

procedure TLoginService.LoginServiceLogin(Sender: TObject; aUserID,
   aPassword: Utf8String; aConnectionName: Utf8String; out aUserInfo: 
UserInfo;
   var aLoginSuccessful: Boolean);
begin
   aLoginSuccessful := aUserID = aPassword;//Add your checking login and 
password

   if aLoginSuccessful then begin
     aUserInfo := UserInfo.Create;
     aUserInfo.SessionID := UTF8String(GuidToAnsiString(ClientID));
     aUserInfo.UserID := aUserID;

     Session['UserID'] := aUserID;

     // store connection name for use in data service
     Session['ConnectionName'] := aConnectionName;
   end
   else begin
     DestroySession;
   end;
end;

procedure TLoginService.LoginServiceLogout(Sender: TObject);
begin
   DestroySession;
end;

f) Add BeforeAcquireConnection event to your data service
procedure 
TNewService.DataAbstractServiceBeforeAcquireConnection(aSender: TObject; 
var aConnectionName: string);
begin
   aConnectionName := VarToStr(Session['ConnectionName']);
end;

==== client side ===
Add procedure Login and Logout to your form.
function TClientForm.Login: Boolean;
var
   fLoginForm: TLoginForm;
   lNames: StringArray;
   i: integer;
begin
   fLoginForm := TLoginForm.Create(nil);
   try
     FreeAndNil(fUserInfo);
     lNames := fLogin.GetConnectionNames;
     try
       for i:=0 to lNames.Count-1 do
         fLoginForm.edDatabaseName.Items.Add(UTF8ToString(lNames.Items[i]));
     finally
       lNames.Free;
     end;
     i := 
fLoginForm.edDatabaseName.Items.IndexOf(UTF8ToString(fLogin.GetDefaultConnectionName));
     if i > -1 then fLoginForm.edDatabaseName.ItemIndex := i;
     while fLoginForm.ShowModal = mrOk do begin
       fLoggedIn := fLogin.Login(UTF8Encode(fLoginForm.edUsername.Text),
                   UTF8Encode(fLoginForm.edPassword.Text),
                   UTF8Encode(fLoginForm.edDatabaseName.Text), fUserInfo);
       Result := fLoggedIn;
       if Result then exit;
     end;
     Result := False;
   finally
     fLoginForm.Free;
   end;
end;

procedure TClientForm.Logout;
begin
   if fLoggedIn then begin
     fLogin.Logout();
     fLoggedIn := false;
   end;
end;

Run them on FormShow and FormDestroy event:

procedure TClientForm.FormShow(Sender: TObject);
begin
   fLogin := CoLoginService.Create(ClientDataModule.Message, 
ClientDataModule.Channel);
   if not Login then
     Application.Terminate;
end;

procedure TClientForm.FormDestroy(Sender: TObject);
begin
   Logout;
end;

-- 
With Best Regards

Vladimir Lukyanchenko
RemObjects Software
http://www.remobjects.com
Re: any quick way to update data tables inside schema ?
Vladimir Lukyanchenko [RemObjects Software] [07 Sep, 14:53]

Read complete thread - Add Vladimir Lukyanchenko [RemObjects Software] to favorite authors (login)
Hello Jacky,
You wrote:
 > but sometime it will affect the "relationship" too, so confusing
 > me...
"Refresh Relationships" button replaces all relationships.

-- 
With Best Regards

Vladimir Lukyanchenko
RemObjects Software
http://www.remobjects.com
Re: How to implement a local dataset into the DA server?
Vladimir Lukyanchenko [RemObjects Software] [07 Sep, 10:20]

Read complete thread - Add Vladimir Lukyanchenko [RemObjects Software] to favorite authors (login)
Hello Giovanni,
Please set MemDataTable.RemoteFetchEnabled to True.
If you use RemoteDataAdapter property you should also set 
RemoteFetchEnabled.

-- 
With Best Regards

Vladimir Lukyanchenko
RemObjects Software
http://www.remobjects.com
Re: DataAbstract Trial Version - Cannot find paths and ComboServer wizard not appearing
Vyacheslav Dulnev [RemObjects Software] [06 Sep, 23:08]

Read complete thread - Add Vyacheslav Dulnev [RemObjects Software] to favorite authors (login)
Hi.

Look like DataAbstract IDE package isn't installed please check this.
You can manually re-install it - Data Abstract for 
Delphi\Source\IDE\DataAbstract_IDE_Dxx.dpk.

--
Vyacheslav Dulnev

RemObjects Software
The Infrastructure Company
http://www.remobjects.com

On 9/5/10 1:45 AM, P Jackson wrote:
> Hi
>
> I re installed the trial version on D2010 only, using your suggestion of
> "Append to Delphi's override paths".
>
> Delphi Opens cleanly with no errors.
>
> Following the Wiki instructions I selected The RemObjects Data Abstract
>  > Combo Server
>
> The Rem Objects SDL Server project dialog was displayed, I gave the
> project the name FirstComboServer.
>
> I selected OK and a client form was displayed, but no Data Abstract
> Project Wizard.
>
> I opened all the files within the project and when opening the
> fServerForm the following errors were generated...
>
>
> fServerForm - error reading NewService.AcquireConnection: Property
> AcquireConnection does not exist. Ignore the error and continue?
>
> I selected 'Ignore' and then the following error...
>
> fServerForm - error reading NewService.ServiceSchema: Property
> ServiceSchema does not exist. Ignore the error and continue?
>
> I selected 'Ignore All'
>
> I have manually added a DAMemDataTable and DADataSource to the
> fClientDataModule
> I have manually added a TDBGrid to the fClientForm
>
> but for the life of me I cannot work out how to connect these to any data.
>
> Please advise
>
> Philip L Jackson
>
>
>
>
>
>
>
> "Vyacheslav Dulnev [RemObjects Software]" <support@remobjects.com> wrote
> in message news:i5g15i$p36$1@news.remobjects.com...
>> Hi.
>>
>> Looks like in your Path environment variable are missing paths to our
>> packages or it is too long. Try to reinstall DataAbstract and select
>> option "Append to Delphi's override paths".
>>
>> --
>> Vyacheslav Dulnev
>>
>> RemObjects Software
>> The Infrastructure Company
>> http://www.remobjects.com
>>
>> On 8/27/2010 10:37 PM, P Jackson wrote:
>>> Hi
>>>
>>> I am examining DA as a possible solution to remotely accessing some
>>> company data on a remote SQL Server. I have downloaded and installed the
>>> trial in D2010 running on 64 bit Windows 7 Ultimate.
>>>
>>> I installed once and received many errors so I wondered if this was
>>> because of the very long file names you have and the limited size of the
>>> DOS Path so I un installed and re installed, setting the DataAbstract
>>> path to be 'c:\program files (x86)\RemObj\DA'.
>>>
>>> 1. When I load Delphi I now get lots of errors i.e.
>>>
>>> 'The program cannot start because DataAbstract_Core_D14.bpl is
>>> missing..'
>>> 'Cannot load package c:\program files
>>> (x86)\RemObj\DA\Dcu\D14\DataAbstract_IDE_D14.bpl'
>>>
>>> 2. When Delphi does start, I have 3 extra component pages for RemObjects
>>> SDK, RemObjects Data Abstract and RemObjects Data Abstract (Legacy)
>>>
>>> I have checked the Tools > Options > Library Path and the path
>>> C:\Program Files (x86)\RemObj\DA\Dcu\D14 is in the List of Paths, and
>>> does exist.
>>>
>>> 3. If I follow the wiki example and select new > Other > Combo Server an
>>> application is created but the Server Wizard does not run as illustrated
>>> in wiki. The project is created but, if I go to fClientDataModule I have
>>> Channel/Message/Remote Service/Remote Data Adapter but no Data Streamer.
>>>
>>> Help gratefully appreciated.
>>>
>>> Regards
>>>
>>> Philip L Jackson
>
How to implement a local dataset into the DA server?
Giovanni Praet [06 Sep, 14:06]

Read complete thread - Add Giovanni Praet to favorite authors (login)
Hello,

I need to implement a local dataset into our DA server, for some server side 
processing.
I have implemented a TDAADODataTable on the ServerDataModule, linked to a 
TDALocalDataAdapter (with ServiceName: ROAppServerSrv). When I open this 
dataset (button on the ServerForm), I get no errors, but the recordcount is 
0. I have also tried it with a TDAMemDataTable, but I get the same result.
When I try this on the Client-app (with a TDARemoteDataAdapter), it works 
fine.
What do I have to do to work with datasets on the server side? Is the above 
implementation of server side datasets the right one? Do you have some 
samples of these implementations with DA? Thanks in advance.
If you want, I can upload a little testproject ...

With kind regards,

Giovanni Praet
XLent Solutions 


Re: FixedChar - Summer 2010 - still a problem...
Evgeny Karpov [RemObjects Software] [06 Sep, 13:54]

Read complete thread - Add Evgeny Karpov [RemObjects Software] to favorite authors (login)
Filip Lagrou wrote:
> The fields are declared as char fields.
> But in de previous version of DA the datatype was datString instead of 
> datFixedChar (so I was a bit confused).

datFixedChar/datWideFixedChar were introduced in this release.

-- 
Evgeny Karpov

RemObjects Software
The Infrastructure Company
http://www.remobjects.com
Re: FixedChar - Summer 2010 - still a problem...
Filip Lagrou [06 Sep, 13:46]

Read complete thread - Add Filip Lagrou to favorite authors (login)
Hi Evgeny,

The fields are declared as char fields.
But in de previous version of DA the datatype was datString instead of 
datFixedChar (so I was a bit confused).

Regards,

Filip.

Evgeny Karpov [RemObjects Software] schreef:
> Filip Lagrou wrote:
>> The Data Abstract Schema Modeler seems to generate field of datatype
>> datFixedChar... Is that correct? If so, I need to redefine the fields
>> collections of the DAMemDataTables.
>
> if your fields are declared as Char(x), it generates datFixedChar.
> if your fields are declared as Varchar(x), it should use datString.
>
> How your fields are declared in MSSQL?
>
> Note: You can safely change declaration in DASM and use datString.
>

Re: FixedChar - Summer 2010 - still a problem...
Evgeny Karpov [RemObjects Software] [06 Sep, 13:07]

Read complete thread - Add Evgeny Karpov [RemObjects Software] to favorite authors (login)
Filip Lagrou wrote:
> The Data Abstract Schema Modeler seems to generate field of datatype 
> datFixedChar... Is that correct? If so, I need to redefine the fields 
> collections of the DAMemDataTables.

if your fields are declared as Char(x), it generates datFixedChar.
if your fields are declared as Varchar(x), it should use datString.

How your fields are declared in MSSQL?

Note: You can safely change declaration in DASM and use datString.

-- 
Evgeny Karpov

RemObjects Software
The Infrastructure Company
http://www.remobjects.com
Re: FixedChar - Summer 2010 - still a problem...
Filip Lagrou [06 Sep, 12:45]

Read complete thread - Add Filip Lagrou to favorite authors (login)
The Data Abstract Schema Modeler seems to generate field of datatype 
datFixedChar... Is that correct? If so, I need to redefine the fields 
collections of the DAMemDataTables.

Regards,

Filip.


Evgeny Karpov [RemObjects Software] schreef:
> Filip Lagrou wrote:
>> Hi,
>>
>> After installing the Summer 2010 release, generating strongly types
>> access units differ.
>>
>> Char fields (SQL Server) are now declared as FixedChar instead of string.
>> The compiler generates errors on FixedChar (is not a type identifier)
>> and on AsFixedChar (undeclared identifier).
>
> Thanks.
> Logged and fixed as 42771.
>
> Workaround: pls update IDE\uDASchemaUnitsGenerator.pas:
>
> function GetDATypeMethod(ad: TDADataType): string;
> begin
> case ad of
> datAutoInc: Result := 'Integer';
> datLargeAutoInc: Result := 'LargeInt';
> datFixedWideChar,
> datWideMemo: Result := 'WideString';
> datSingleFloat: Result := 'Single';
> datFixedChar: Result := 'String';
> {$IFNDEF TREAT_DECIMAL_AS_TBCD}
> datDecimal: Result := 'Float';
> {$ENDIF}
> else
> Result := DADataTypeNames[ad];
> end;
> end;
>
> function GetDAType(ad: TDADataType): string;
> begin
> case ad of
> datMemo: Result := 'IROStrings';
> datBlob: Result := 'IROStream';
> datAutoInc: Result := 'Integer';
> datFixedWideChar,
> datWideMemo: Result := 'WideString';
> datLargeAutoInc: Result := 'Int64';
> datGuid: result := 'TGuid';
> datXml: result := 'IXmlNode';
> datLargeUint: Result := 'UInt64';
> datLargeInt: Result := 'Int64';
> {$IFDEF TREAT_DECIMAL_AS_TBCD}
> datDecimal: Result := 'TBcd';
> {$ELSE}
> datDecimal: Result := 'Double';
> {$ENDIF}
> datFixedChar: Result := 'String';
> datSingleFloat: Result := 'Single';
> else
> Result := DADataTypeNames[ad];
> end;
> end;
>

Re: DataAbstract Trial Version - Cannot find paths and ComboServer wizard not appearing
P Jackson [04 Sep, 23:45]

Read complete thread - Add P Jackson to favorite authors (login)
Hi

I re installed the trial version on D2010 only, using your suggestion of 
"Append to Delphi's override paths".

Delphi Opens cleanly with no errors.

Following the Wiki instructions I selected The RemObjects Data Abstract > 
Combo Server

The Rem Objects SDL Server project dialog was displayed, I gave the project 
the name FirstComboServer.

I selected OK and a client form was displayed, but no Data Abstract Project 
Wizard.

I opened all the files within the project and when opening the fServerForm 
the following errors were generated...


fServerForm - error reading NewService.AcquireConnection: Property 
AcquireConnection does not exist.  Ignore the error and continue?

I selected 'Ignore' and then the following error...

fServerForm - error reading NewService.ServiceSchema: Property ServiceSchema 
does not exist.  Ignore the error and continue?

I selected 'Ignore All'

I have manually added a DAMemDataTable and DADataSource to the 
fClientDataModule
I have manually added a TDBGrid to the fClientForm

but for the life of me I cannot work out how to connect these to any data.

Please advise

Philip L Jackson







"Vyacheslav Dulnev [RemObjects Software]" <support@remobjects.com> wrote in 
message news:i5g15i$p36$1@news.remobjects.com...
> Hi.
>
> Looks like in your Path environment variable are missing paths to our 
> packages or it is too long. Try to reinstall DataAbstract and select 
> option "Append to Delphi's override paths".
>
> -- 
> Vyacheslav Dulnev
>
> RemObjects Software
> The Infrastructure Company
> http://www.remobjects.com
>
> On 8/27/2010 10:37 PM, P Jackson wrote:
>> Hi
>>
>> I am examining DA as a possible solution to remotely accessing some
>> company data on a remote SQL Server. I have downloaded and installed the
>> trial in D2010 running on 64 bit Windows 7 Ultimate.
>>
>> I installed once and received many errors so I wondered if this was
>> because of the very long file names you have and the limited size of the
>> DOS Path so I un installed and re installed, setting the DataAbstract
>> path to be 'c:\program files (x86)\RemObj\DA'.
>>
>> 1. When I load Delphi I now get lots of errors i.e.
>>
>> 'The program cannot start because DataAbstract_Core_D14.bpl is missing..'
>> 'Cannot load package c:\program files
>> (x86)\RemObj\DA\Dcu\D14\DataAbstract_IDE_D14.bpl'
>>
>> 2. When Delphi does start, I have 3 extra component pages for RemObjects
>> SDK, RemObjects Data Abstract and RemObjects Data Abstract (Legacy)
>>
>> I have checked the Tools > Options > Library Path and the path
>> C:\Program Files (x86)\RemObj\DA\Dcu\D14 is in the List of Paths, and
>> does exist.
>>
>> 3. If I follow the wiki example and select new > Other > Combo Server an
>> application is created but the Server Wizard does not run as illustrated
>> in wiki. The project is created but, if I go to fClientDataModule I have
>> Channel/Message/Remote Service/Remote Data Adapter but no Data Streamer.
>>
>> Help gratefully appreciated.
>>
>> Regards
>>
>> Philip L Jackson 

Re: any quick way to update data tables inside schema ?
Jacky [04 Sep, 18:44]

Read complete thread - Add Jacky to favorite authors (login)
yes,...but sometime it will affect the "relationship" too, so confusing 
me...

hope coming version will do it better, more intelligent


thx.


"Vladimir Lukyanchenko [RemObjects Software]" <support@remobjects.com> wrote 
in message news:i5q5sg$tmo$1@news.remobjects.com...
> Hello Jacky,
> You wrote:
> > my problem is "recreate fields in schema data tables", i have to do it
> > manually, any shortcut or button like client side ?
> This way you can reset your manual field settings.
> By other hand, you can delete old tables and drag&drop new ones.
>
> -- 
> With Best Regards
>
> Vladimir Lukyanchenko
> RemObjects Software
> http://www.remobjects.com 


Re: DA06 does not have a link to the sample project on Strongly typed Datasets
Robert Maxwell [03 Sep, 14:23]

Read complete thread - Add Robert Maxwell to favorite authors (login)
Thank you.

rob.

On 9/3/2010 1:57 AM, Vladimir Lukyanchenko [RemObjects Software] wrote:
> Hello Robert,
> After installing DA you can find this sample in the following folder:
> XP: "C:\Documents and Settings\All Users\Documents\RemObjects
> Samples\Data Abstract for Delphi\Old\Strongly Typed"
> Vista,Win7: "C:\Users\Public\Documents\RemObjects Samples\Data Abstract
> for Delphi\Old\Strongly Typed"
>

Re: DA06 does not have a link to the sample project on Strongly typed Datasets
Vladimir Lukyanchenko [RemObjects Software] [03 Sep, 09:57]

Read complete thread - Add Vladimir Lukyanchenko [RemObjects Software] to favorite authors (login)
Hello Robert,
After installing DA you can find this sample in the following folder:
XP: "C:\Documents and Settings\All Users\Documents\RemObjects 
Samples\Data Abstract for Delphi\Old\Strongly Typed"
Vista,Win7: "C:\Users\Public\Documents\RemObjects Samples\Data Abstract 
for Delphi\Old\Strongly Typed"

-- 
With Best Regards

Vladimir Lukyanchenko
RemObjects Software
http://www.remobjects.com
Re: Any examples about threading using Data Abstract ?
Andrey Turashov [RemObjects Software] [03 Sep, 09:31]

Read complete thread - Add Andrey Turashov [RemObjects Software] to favorite authors (login)
Jacky wrote:
>>> does TDAMemDataTable support AbortQuery feature ?
>> No, it doesn't. Can you describe in what situation do you need this 
>> feature? Maybe we have some alternative features.
> 
> if performing a Large query will hold entry system, so if DA does have a 
> AboutQuery feature, we can cancel it and return to system.
> since during query, the user only can do is wait...

Hello, Jacky.

Alternatively, I can advice you to form resultset in parts. This will 
help to avoid too large resultsets.

You can see solution above in action in RemObjects DataAbstract example 
"Fetch" (see at "C:\Users\Public\Documents\RemObjects Samples\Data 
Abstract for Delphi\Old\").


Thanks in advance.


-- 
Andrey Turashov

RemObjects Software
The Infrastructure Company
http://www.remobjects.com
Re: any quick way to update data tables inside schema ?
Vladimir Lukyanchenko [RemObjects Software] [03 Sep, 07:50]

Read complete thread - Add Vladimir Lukyanchenko [RemObjects Software] to favorite authors (login)
Hello Jacky,
You wrote:
 > my problem is "recreate fields in schema data tables", i have to do it
 > manually, any shortcut or button like client side ?
This way you can reset your manual field settings.
By other hand, you can delete old tables and drag&drop new ones.

-- 
With Best Regards

Vladimir Lukyanchenko
RemObjects Software
http://www.remobjects.com
Re: DA06 does not have a link to the sample project on Strongly typed Datasets
Robert Maxwell [03 Sep, 05:03]

Read complete thread - Add Robert Maxwell to favorite authors (login)
I went to the wiki to find the equivalent article, and the download of 
the sample seems to actually be an upload link.

Let me know if the sample is available.

Thanks,

rob.

On 9/2/2010 8:49 PM, Robert Maxwell wrote:
> Hi, I am looking for a downloadable sample project as mentioned in DA06.
> Do you have the URL?
>
> Thanks,
>
> rob.

DA06 does not have a link to the sample project on Strongly typed Datasets
Robert Maxwell [03 Sep, 04:49]

Read complete thread - Add Robert Maxwell to favorite authors (login)
Hi, I am looking for a downloadable sample project as mentioned in DA06. 
  Do you have the URL?

Thanks,

rob.
Re: any quick way to update data tables inside schema ?
Jacky [01 Sep, 22:28]

Read complete thread - Add Jacky to favorite authors (login)
um....my problem is "recreate fields in schema data tables", i have to do it 
manually, any shortcut or button like client side ?

thx


"Vladimir Lukyanchenko [RemObjects Software]" <support@remobjects.com> wrote 
in message news:i5mf71$u4r$1@news.remobjects.com...
> Hello Jacky,
> > during development, i always need to change/update database fields, any
> > quickway to update Data Tables structure inside schema ?
> If you change fields in your database  you should recreate fields in 
> schema data tables and update
> fields in memdatatable on the client side (use "Retreive DataTable Schema" 
> menu
> command on TDAMemDataTable component).
>
> -- 
> With Best Regards
>
> Vladimir Lukyanchenko
> RemObjects Software
> http://www.remobjects.com 


Re: any quick way to update data tables inside schema ?
Vladimir Lukyanchenko [RemObjects Software] [01 Sep, 22:05]

Read complete thread - Add Vladimir Lukyanchenko [RemObjects Software] to favorite authors (login)
Hello Jacky,
 > during development, i always need to change/update database fields, any
 > quickway to update Data Tables structure inside schema ?
If you change fields in your database  you should recreate fields in 
schema data tables and update
fields in memdatatable on the client side (use "Retreive DataTable 
Schema" menu
command on TDAMemDataTable component).

-- 
With Best Regards

Vladimir Lukyanchenko
RemObjects Software
http://www.remobjects.com