You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(25) |
Oct
(10) |
Nov
(19) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
(206) |
Mar
(43) |
Apr
(25) |
May
(20) |
Jun
(69) |
Jul
(121) |
Aug
(95) |
Sep
(122) |
Oct
(213) |
Nov
(46) |
Dec
(39) |
2006 |
Jan
(28) |
Feb
(57) |
Mar
(21) |
Apr
(7) |
May
(11) |
Jun
(2) |
Jul
(8) |
Aug
(13) |
Sep
(2) |
Oct
(2) |
Nov
(20) |
Dec
(16) |
2007 |
Jan
(9) |
Feb
(15) |
Mar
|
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(1) |
Sep
(9) |
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
(8) |
Apr
(1) |
May
|
Jun
|
Jul
(11) |
Aug
(57) |
Sep
(2) |
Oct
(6) |
Nov
|
Dec
(7) |
2010 |
Jan
(11) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(27) |
Oct
(3) |
Nov
(7) |
Dec
(1) |
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(10) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
(8) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(4) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
(4) |
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Carlo B. <car...@us...> - 2004-12-03 16:04:38
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16492/Source/Core Modified Files: InstantConnectionManager.pas Log Message: UIB broker: TInstantCurrency support added; OnLogin prompt; bug fixing Index: InstantConnectionManager.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantConnectionManager.pas,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** InstantConnectionManager.pas 1 Oct 2004 16:09:13 -0000 1.6 --- InstantConnectionManager.pas 3 Dec 2004 16:04:29 -0000 1.7 *************** *** 401,406 **** Application.ProcessMessages; Connector.BuildDatabase(Model); ! DoPrepare(Connector); ! Connector.Disconnect; finally Screen.Cursor := SaveCursor; --- 401,410 ---- Application.ProcessMessages; Connector.BuildDatabase(Model); ! Connector.Connect; ! Try ! DoPrepare(Connector); ! Finally ! Connector.Disconnect; ! End; finally Screen.Cursor := SaveCursor; |
From: Carlo B. <car...@us...> - 2004-12-03 16:04:38
|
Update of /cvsroot/instantobjects/Source/Brokers/IBX In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16492/Source/Brokers/IBX Modified Files: InstantIBXConnectionDefEdit.dfm Log Message: UIB broker: TInstantCurrency support added; OnLogin prompt; bug fixing Index: InstantIBXConnectionDefEdit.dfm =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/IBX/InstantIBXConnectionDefEdit.dfm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** InstantIBXConnectionDefEdit.dfm 16 Sep 2004 11:37:33 -0000 1.3 --- InstantIBXConnectionDefEdit.dfm 3 Dec 2004 16:04:28 -0000 1.4 *************** *** 3,7 **** Top = 238 BorderStyle = bsDialog ! Caption = 'InterBase Connection' ClientHeight = 399 ClientWidth = 362 --- 3,7 ---- Top = 238 BorderStyle = bsDialog ! Caption = 'IBX Connection' ClientHeight = 399 ClientWidth = 362 |
From: Nando D. <na...@us...> - 2004-12-02 10:13:06
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4582/Brokers/UIB Modified Files: InstantUIB.pas Log Message: fixed support for memo fields Index: InstantUIB.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIB.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** InstantUIB.pas 11 Oct 2004 08:15:10 -0000 1.1 --- InstantUIB.pas 2 Dec 2004 10:12:55 -0000 1.2 *************** *** 17,21 **** * License. * ! * The Original Code is: Andrea Petrelli * * The Initial Developer of the Original Code is: Andrea Petrelli --- 17,21 ---- * License. * ! * The Original Code is: InstantObjects UIB Support * * The Initial Developer of the Original Code is: Andrea Petrelli *************** *** 342,351 **** { TInstantUIBBroker} ! procedure TInstantUIBBroker.AssignDataSetParams(DataSet : TDataSet; AParams: TParams); var I: Integer; ! BlobContent: String; SourceParam: TParam; ! TargetParams : TSQLParams; begin //don't call inherited! --- 342,351 ---- { TInstantUIBBroker} ! procedure TInstantUIBBroker.AssignDataSetParams(DataSet: TDataSet; AParams: TParams); var I: Integer; ! BlobContent: string; SourceParam: TParam; ! TargetParams: TSQLParams; begin //don't call inherited! *************** *** 365,375 **** ftBoolean: TargetParams.ByNameAsBoolean[SourceParam.Name] := SourceParam.AsBoolean; ! ftBlob: begin ! BlobContent := SourceParam.AsBlob; TJvUIBDataset(DataSet).ParamsSetBlob(SourceParam.Name, BlobContent); end; else ! raise Exception.Create('Parameter data type not supported : ' + GetEnumName(TypeInfo(TFieldType), Ord(SourceParam.DataType))); end; --- 365,375 ---- ftBoolean: TargetParams.ByNameAsBoolean[SourceParam.Name] := SourceParam.AsBoolean; ! ftBlob, ftMemo: begin ! BlobContent := SourceParam.AsString; TJvUIBDataset(DataSet).ParamsSetBlob(SourceParam.Name, BlobContent); end; else ! raise Exception.Create('Parameter data type not supported: ' + GetEnumName(TypeInfo(TFieldType), Ord(SourceParam.DataType))); end; |
From: Carlo B. <car...@us...> - 2004-11-20 10:52:44
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2033/Source/Core Modified Files: InstantCode.pas Log Message: Changes for IOMETADATA keyword support and NexusDBSQL Index: InstantCode.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantCode.pas,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** InstantCode.pas 17 Nov 2004 20:59:48 -0000 1.6 --- InstantCode.pas 20 Nov 2004 10:52:31 -0000 1.7 *************** *** 4435,4445 **** SavePos: TInstantCodePos; begin ! Result := Reader.NextChar = '{'; ! if not Result then ! begin SavePos := Reader.Position; try Reader.IgnoreComments := False; ! result := Reader.ReadMatching('{' + MetadataInfoID + ' '); finally Reader.IgnoreComments := True; --- 4435,4445 ---- SavePos: TInstantCodePos; begin ! Result := False; ! if Reader.NextChar = '{' then begin SavePos := Reader.Position; try Reader.IgnoreComments := False; ! Result := Reader.ReadMatching('{' + MetadataInfoID + ' ') ! or (Reader.NextChar = '{'); finally Reader.IgnoreComments := True; *************** *** 4461,4464 **** --- 4461,4466 ---- if SameText(Reader.NextToken, MetadataInfoID) then Reader.ReadToken; + // else //For version 1.7: check MetadataInfoID Keyword + // Reader.ErrorExpected(MetadataInfoID); Persistence := peEmbedded; |
From: Carlo B. <car...@us...> - 2004-11-20 10:52:42
|
Update of /cvsroot/instantobjects/Source/Brokers/NexusDbSQL In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2033/Source/Brokers/NexusDbSQL Modified Files: InstantNexusDbSQL.pas Log Message: Changes for IOMETADATA keyword support and NexusDBSQL Index: InstantNexusDbSQL.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/NexusDbSQL/InstantNexusDbSQL.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** InstantNexusDbSQL.pas 17 Nov 2004 17:53:00 -0000 1.1 --- InstantNexusDbSQL.pas 20 Nov 2004 10:52:31 -0000 1.2 *************** *** 422,434 **** procedure TInstantNexusDbSQLConnector.InternalBuildDatabase(Scheme: TInstantScheme); begin ! StartTransaction; ! try ! inherited; ! CommitTransaction; ! DatabaseBuildFixup; // Hopefully NexusDb V2 will not need this! ! except ! RollbackTransaction; ! raise; ! end; end; --- 422,429 ---- procedure TInstantNexusDbSQLConnector.InternalBuildDatabase(Scheme: TInstantScheme); begin ! // Deleted transaction wrapper as DDL actions cannot be rolled back in ! // accordance with advice from NexusDb ng. - SRM 09 Oct 2004 ! inherited; ! DatabaseBuildFixup; // Hopefully NexusDb V2 will not need this! end; *************** *** 488,491 **** --- 483,488 ---- Query: TNexusDbQuery; begin + //CodeSite.EnterMethod('TInstantNexusDbSQLBroker.CreateDataSet'); + //CodeSite.SendFmtMsg('SQL Statement: %s', [#13 + AStatement]); Query := TNexusDbQuery.Create(nil); with Query do *************** *** 497,500 **** --- 494,498 ---- end; Result := Query; + //CodeSite.ExitMethod('TInstantNexusDbSQLBroker.CreateDataSet'); end; *************** *** 518,524 **** --- 516,524 ---- 'BLOB'); begin + //CodeSite.EnterMethod('TInstantNexusDbSQLBroker.DataTypeToColumnType'); Result := Types[DataType]; if (DataType = dtString) and (Size > 0) then Result := Result + InstantEmbrace(IntToStr(Size), '()'); + //CodeSite.ExitMethod('TInstantNexusDbSQLBroker.DataTypeToColumnType'); end; *************** *** 526,529 **** --- 526,530 ---- AParams: TParams): Integer; begin + //CodeSite.SendFmtMsg('SQL Statement: %s', [#13 + AStatement]); with CreateDataSet(AStatement, AParams) as TNexusDbQuery do try *************** *** 538,541 **** --- 539,544 ---- begin //don't call inherited! + + //CodeSite.EnterMethod('TInstantNexusDbSQLBroker.ExecuteQuery'); with TNexusDbQuery(DataSet) do begin *************** *** 543,546 **** --- 546,550 ---- Result := RowsAffected; end; + //CodeSite.ExitMethod('TInstantNexusDbSQLBroker.ExecuteQuery'); end; |
From: Carlo B. <car...@us...> - 2004-11-20 10:47:28
|
Update of /cvsroot/instantobjects/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1279/Docs Added Files: IOMETADATA_Keyword.txt Log Message: bug-fix TInstantGraphic with some Jpeg file format --- NEW FILE: IOMETADATA_Keyword.txt --- Instant Objects V1.6.7 and Object Foundry Expert V1.7 for ModelMaker versions 7 and 8. 17 Nov 2004 Provided by Steven Mitchell, Sydney Australia. Minor Changes by Carlo Barazzetta, Milan Italy. [Only tested with Delphi 7] Please report all comments, suggestions etc. to the IO developments newsgroup. This archive contains source code modifications that enables IO to read and write a Metadata identifier tag in the class metadata info as follows: "{IOMETADATA " (without quotes but including trailing space). IMPORTANT: If you open an old project into Delphi IDE you receive this warning message: "WARNING: Project XXX contains some class metadata without IOMETADATA keyword". This check can fail if you have a comment starting with "{ stored" outside metadata definition of InstantObjects, or if you havent stored classes in one model unit. Please correct your comment to "{stored ...." to bypass wrong check. If you don't make those changes you cannot use InstantObjects project with ModelMaker. If you change a class definition by the AttributeEditor your class is enforced to include IOMETADATA Keyword, so your code can have some classes with the IOMETADATA keyword and some classes without it. WE RECCOMEND TO CHANGE YOUR CODE TO INCLUDE THIS NEW KEYWORD FOR FUTURE COMPATIBILITY OF 1.7 VERSION OF IO. HOW TO INCLUDE IOMETADATA KEYWORD: 1. For MODELMAKER users only: make sure that the model is up to date then save and close Modelmaker. Copy the 'OFExpt.dll' file to the {$Modelmaker}\Experts folder. Make sure to backup any previous 'OFExpt.dll' file beforehand. Re-open Modelmaker. Re-generating the Delphi code from ModelMaker should update the model code units to include the new class metadata identifier tag. If this is successful then continue as usual. If all does not appear well then see clause 2. Gerrit Beuze of Modelmaker has performed some tests with MM8 (as of 01 Nov 2004) and found that it worked OK. 2. For those that don't use MODELMAKER do the following with pre-existing IO projects. In the delphi IDE, the IO Model Explorer will now show "IOMETADATA expected" error. This is rectified by manually adding the metadata identifier tag, indicated above, to each model class interface. As this is done the IO Model Explorer will update itself automatically to indicate persistence again. When the modification to all model classes is complete usage should continue as normal. |
From: Carlo B. <car...@us...> - 2004-11-19 13:14:22
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20764/Source/Core Modified Files: InstantPersistence.pas Log Message: bug-fix TInstantGraphic with some Jpeg file format Index: InstantPersistence.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPersistence.pas,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** InstantPersistence.pas 17 Nov 2004 20:59:48 -0000 1.14 --- InstantPersistence.pas 19 Nov 2004 13:14:12 -0000 1.15 *************** *** 2817,2821 **** ( ( p[0] = #77 ) and ( p[1] = #77 ) and ( p[2] = #42 ) and ( p[3] =#0 ) ) then Result := gffTiff { jpg format } ! else if ( p[6] = #74 ) and ( p[7] = #70 ) and ( p[8] = #73 ) and ( p[9] = #70 ) then Result := gffJpeg { png format } else if ( p[0] = #137 ) and ( p[1] = #80 ) and ( p[2] = #78 ) and ( p[3] = #71 ) and --- 2817,2822 ---- ( ( p[0] = #77 ) and ( p[1] = #77 ) and ( p[2] = #42 ) and ( p[3] =#0 ) ) then Result := gffTiff { jpg format } ! else if ( p[6] = #74 ) and ( p[7] = #70 ) and ( p[8] = #73 ) and ( p[9] = #70 ) or ! ( p[6] = #69 ) and ( p[7] = #120 ) and ( p[8] = #105 ) and ( p[9] = #102 ) then Result := gffJpeg { png format } else if ( p[0] = #137 ) and ( p[1] = #80 ) and ( p[2] = #78 ) and ( p[3] = #71 ) and |
From: Carlo B. <car...@us...> - 2004-11-18 13:36:07
|
Update of /cvsroot/instantobjects/Demos/PrimerCross In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2752/Demos/PrimerCross Modified Files: Model.pas Log Message: Index: Model.pas =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/Model.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Model.pas 29 Jul 2004 20:43:09 -0000 1.2 --- Model.pas 18 Nov 2004 13:35:57 -0000 1.3 *************** *** 18,22 **** TAddress = class(TInstantObject) ! { City: String(30) index; Country: Reference(TCountry); State: String(4); --- 18,22 ---- TAddress = class(TInstantObject) ! { IOMETADATA City: String(30) index; Country: Reference(TCountry); State: String(4); *************** *** 48,52 **** TCountry = class(TInstantObject) ! { stored; Name: String(30); } _Name: TInstantString; --- 48,52 ---- TCountry = class(TInstantObject) ! { IOMETADATA stored; Name: String(30); } _Name: TInstantString; *************** *** 63,67 **** TPhone = class(TInstantObject) ! { Name: String(20); Number: String(20) mask '(000) 000-0000;0;_'; } _Name: TInstantString; --- 63,67 ---- TPhone = class(TInstantObject) ! { IOMETADATA Name: String(20); Number: String(20) mask '(000) 000-0000;0;_'; } _Name: TInstantString; *************** *** 78,82 **** TEmail = class(TInstantObject) ! { Address: String(100); } _Address: TInstantString; private --- 78,82 ---- TEmail = class(TInstantObject) ! { IOMETADATA Address: String(100); } _Address: TInstantString; private *************** *** 88,92 **** TCategory = class(TInstantObject) ! { stored; Name: String(30); } _Name: TInstantString; --- 88,92 ---- TCategory = class(TInstantObject) ! { IOMETADATA stored; Name: String(30); } _Name: TInstantString; *************** *** 101,105 **** TContact = class(TInstantObject) ! { stored; Address: Part(TAddress); Category: Reference(TCategory); --- 101,105 ---- TContact = class(TInstantObject) ! { IOMETADATA stored; Address: Part(TAddress); Category: Reference(TCategory); *************** *** 159,163 **** TPerson = class(TContact) ! { stored; BirthDate: DateTime; Emails: Parts(TEmail); --- 159,163 ---- TPerson = class(TContact) ! { IOMETADATA stored; BirthDate: DateTime; Emails: Parts(TEmail); *************** *** 204,208 **** TCompany = class(TContact) ! { stored; Employees: References(TPerson); } _Employees: TInstantReferences; --- 204,208 ---- TCompany = class(TContact) ! { IOMETADATA stored; Employees: References(TPerson); } _Employees: TInstantReferences; |
From: Carlo B. <car...@us...> - 2004-11-17 21:00:32
|
Update of /cvsroot/instantobjects/Demos/PrimerCross In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Demos/PrimerCross Modified Files: Main.dfm Main.pas PersonEdit.dfm PersonEdit.pas Primer.dof Primer.res Log Message: VERSION 1.6.7 - Info into Readme.txt Index: Primer.res =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/Primer.res,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsggLlS2 and /tmp/cvsPZdkQV differ Index: PersonEdit.dfm =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/PersonEdit.dfm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PersonEdit.dfm 29 Jul 2004 20:43:09 -0000 1.2 --- PersonEdit.dfm 17 Nov 2004 20:59:47 -0000 1.3 *************** *** 60,68 **** Caption = 'Sa&lary' end ! object PictureImage: TImage [13] ! Left = 339 ! Top = 206 ! Width = 70 ! Height = 93 end inherited StreetEdit: TDBMemo --- 60,78 ---- Caption = 'Sa&lary' end ! object PicturePanel: TPanel [13] ! Left = 332 ! Top = 203 ! Width = 76 ! Height = 96 ! BevelOuter = bvLowered ! Caption = 'Picture' ! TabOrder = 14 ! object PictureImage: TImage ! Left = 3 ! Top = 2 ! Width = 70 ! Height = 93 ! Stretch = True ! end end inherited StreetEdit: TDBMemo *************** *** 168,175 **** object PictureButton: TButton [24] Left = 240 ! Top = 274 Width = 81 Height = 25 ! Caption = '&Picture...' TabOrder = 13 OnClick = PictureButtonClick --- 178,185 ---- object PictureButton: TButton [24] Left = 240 ! Top = 246 Width = 81 Height = 25 ! Caption = 'Load &Picture...' TabOrder = 13 OnClick = PictureButtonClick *************** *** 184,187 **** --- 194,206 ---- TabOrder = 10 end + object ClearButton: TButton + Left = 240 + Top = 274 + Width = 81 + Height = 25 + Caption = '&Clear Picture' + TabOrder = 15 + OnClick = ClearButtonClick + end end end Index: Main.pas =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/Main.pas,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Main.pas 4 Aug 2004 22:43:38 -0000 1.3 --- Main.pas 17 Nov 2004 20:59:47 -0000 1.4 *************** *** 730,733 **** --- 730,734 ---- try ShowModal; + ConnectionManagerAction.Execute; finally Free; Index: Main.dfm =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/Main.dfm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Main.dfm 20 Jul 2004 11:05:15 -0000 1.1 --- Main.dfm 17 Nov 2004 20:59:47 -0000 1.2 *************** *** 13,17 **** Menu = MainMenu OldCreateOrder = False - Position = poScreenCenter WindowState = wsMaximized OnClose = FormClose --- 13,16 ---- Index: Primer.dof =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/Primer.dof,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Primer.dof 29 Jul 2004 20:43:09 -0000 1.2 --- Primer.dof 17 Nov 2004 20:59:47 -0000 1.3 *************** *** 115,119 **** MajorVer=1 MinorVer=6 ! Release=6 Build=0 Debug=0 --- 115,119 ---- MajorVer=1 MinorVer=6 ! Release=7 Build=0 Debug=0 *************** *** 127,131 **** CompanyName=InstantObjects.org FileDescription=Primer Demo ! FileVersion=1.6.6.0 InternalName= LegalCopyright=MPL public license --- 127,131 ---- CompanyName=InstantObjects.org FileDescription=Primer Demo ! FileVersion=1.6.7.0 InternalName= LegalCopyright=MPL public license *************** *** 133,136 **** OriginalFilename= ProductName= ! ProductVersion=1.6.6 Comments= --- 133,136 ---- OriginalFilename= ProductName= ! ProductVersion=1.6.7 Comments= Index: PersonEdit.pas =================================================================== RCS file: /cvsroot/instantobjects/Demos/PrimerCross/PersonEdit.pas,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PersonEdit.pas 4 Aug 2004 22:43:38 -0000 1.3 --- PersonEdit.pas 17 Nov 2004 20:59:47 -0000 1.4 *************** *** 30,37 **** EmployerClearButton: TToolButton; EmployerToolImages: TImageList; - PictureImage: TImage; PictureButton: TButton; SalaryLabel: TLabel; SalaryEdit: TDBEdit; procedure EmployerClearButtonClick(Sender: TObject); procedure EmployerEditButtonClick(Sender: TObject); --- 30,39 ---- EmployerClearButton: TToolButton; EmployerToolImages: TImageList; PictureButton: TButton; SalaryLabel: TLabel; SalaryEdit: TDBEdit; + PicturePanel: TPanel; + PictureImage: TImage; + ClearButton: TButton; procedure EmployerClearButtonClick(Sender: TObject); procedure EmployerEditButtonClick(Sender: TObject); *************** *** 42,45 **** --- 44,48 ---- procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); + procedure ClearButtonClick(Sender: TObject); private function GetSubject: TPerson; *************** *** 169,172 **** --- 172,176 ---- {$IFDEF MSWINDOWS} LoadMultipleImages(EmployerToolImages,'PERSONEMPLOYERTOOLIMAGES',HInstance); + PictureImage.Proportional := True; {$ENDIF} {$IFDEF LINUX} *************** *** 181,184 **** --- 185,195 ---- end; + procedure TPersonEditForm.ClearButtonClick(Sender: TObject); + begin + inherited; + PictureImage.Picture := nil; + Subject._Picture.Clear; + end; + initialization TPersonEditForm.RegisterClass; |
From: Carlo B. <car...@us...> - 2004-11-17 21:00:29
|
Update of /cvsroot/instantobjects/Source/Core/D7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Source/Core/D7 Modified Files: IOCore.dof IOCore.res Log Message: VERSION 1.6.7 - Info into Readme.txt Index: IOCore.dof =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/D7/IOCore.dof,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IOCore.dof 29 Jul 2004 20:47:37 -0000 1.2 --- IOCore.dof 17 Nov 2004 20:59:47 -0000 1.3 *************** *** 115,119 **** MajorVer=1 MinorVer=6 ! Release=6 Build=0 Debug=0 --- 115,119 ---- MajorVer=1 MinorVer=6 ! Release=7 Build=0 Debug=0 *************** *** 127,131 **** CompanyName=InstantObjects.org FileDescription=InstantObjects Run-Time Package (Delphi 7) ! FileVersion=1.6.6.0 InternalName= LegalCopyright= --- 127,131 ---- CompanyName=InstantObjects.org FileDescription=InstantObjects Run-Time Package (Delphi 7) ! FileVersion=1.6.7.0 InternalName= LegalCopyright= *************** *** 133,136 **** OriginalFilename= ProductName=InstantObjects ! ProductVersion=1.6.6 Comments= --- 133,136 ---- OriginalFilename= ProductName=InstantObjects ! ProductVersion=1.6.7 Comments= Index: IOCore.res =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/D7/IOCore.res,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvscx4pbD and /tmp/cvsnjVlDw differ |
From: Carlo B. <car...@us...> - 2004-11-17 21:00:29
|
Update of /cvsroot/instantobjects/Docs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Docs Modified Files: Readme.txt Log Message: VERSION 1.6.7 - Info into Readme.txt Index: Readme.txt =================================================================== RCS file: /cvsroot/instantobjects/Docs/Readme.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Readme.txt 29 Jul 2004 20:43:12 -0000 1.3 --- Readme.txt 17 Nov 2004 20:59:47 -0000 1.4 *************** *** 1,5 **** ------------------------------------------------------------------ ! InstantObjects 1.6.6 for Delphi & Kylix Mozilla Public License 1.1 Edition --- 1,5 ---- ------------------------------------------------------------------ ! InstantObjects 1.6.7 for Delphi & Kylix Mozilla Public License 1.1 Edition *************** *** 140,151 **** VERSION HISTORY --------------- ! Version 1.6.6 (2004-07-29) ! ver.1.6.6 ! - Currency Support (under test): ! ... ! - Graphic Support (under test): ! ... - PrimerCross chaged for Currency and Graphic support --- 140,166 ---- VERSION HISTORY --------------- ! Version 1.6.7 (2004-11-17) ! - Added support for IOMETADATA Keyword in metadata class definition and ! upgrade of ObjectFoundry for ModelMaker 7 & 8 support. ! Please refer to IOMETADATA_Keyword.txt for details. ! - ExternalPart, ExternalParts and ExternalReferences support (under test): ! (UNDOCUMENTED) ! ! - Added InstantNexusSQL Broker ! ! - Changes to IBX Broker: ! - option to disable the use of delimited identifiers in dialect 3 databases ! - implemented InternalCreateDatabase and GetDatabaseExists ! ! - LoginPrompt support and OnLogin event in Connections based on TCustomConnection ! ! Version 1.6.6 (2004-07-29) ! - Currency Support: ! Look into Primer Demo for a little explanation. ! ! - Graphic Support: ! Look into Primer Demo for a little explanation. - PrimerCross chaged for Currency and Graphic support |
From: Carlo B. <car...@us...> - 2004-11-17 21:00:00
|
Update of /cvsroot/instantobjects/Source/Brokers/NexusDbSQL/D7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Source/Brokers/NexusDbSQL/D7 Added Files: Dclionxsql.cfg Dclionxsql.dof Dclionxsql.dpk ionxsql70.cfg ionxsql70.dof ionxsql70.dpk Log Message: VERSION 1.6.7 - Info into Readme.txt --- NEW FILE: Dclionxsql.dpk --- package Dclionxsql; {$R *.res} {$R '..\InstantNexusDbSQL.dcr'} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects NexusDbSQL Design-Time Support (Delphi 7)'} {$LIBSUFFIX '_D7'} {$DESIGNONLY} {$IMPLICITBUILD OFF} requires vcl, vcldb, IOCore, NexusDB107db70, NexusDB107sd70, NexusDB107ll70, NexusDB107tw70, NexusDB107pt70, NexusDB107st70, NexusDB107re70, ionxsql70; contains InstantNexusDbSQLReg in '..\InstantNexusDbSQLReg.pas'; end. --- NEW FILE: Dclionxsql.cfg --- -$A8 -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J+ -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -LE"c:\program files\borland\delphi7\Projects\Bpl" -LN"c:\program files\borland\delphi7\Projects\Bpl" -Z -w-UNSAFE_TYPE -w-UNSAFE_CODE -w-UNSAFE_CAST --- NEW FILE: ionxsql70.cfg --- -$A8 -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J- -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -LE"c:\program files\borland\delphi7\Projects\Bpl" -LN"c:\program files\borland\delphi7\Projects\Bpl" -U"..\..\..\core" -O"..\..\..\core" -I"..\..\..\core" -R"..\..\..\core" -Z -w-UNSAFE_TYPE -w-UNSAFE_CODE -w-UNSAFE_CAST --- NEW FILE: ionxsql70.dpk --- package ionxsql70; {$R *.res} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST OFF} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects NexusDbSQL support'} {$RUNONLY} {$IMPLICITBUILD OFF} requires rtl, vcl, dbrtl, vclx, vcldb, designide, vclactnband, IOCore, NexusDB107ll70, NexusDB107sd70, NexusDB107re70, NexusDB107st70, NexusDB107pt70, NexusDB107tw70, NexusDB107db70, CSP20I70; contains InstantNexusDbSQLConnectionDefEdit in '..\InstantNexusDbSQLConnectionDefEdit.pas' {InstantNexusDbSQLConnectionDefEditForm}, InstantNexusDbSQL in '..\InstantNexusDbSQL.pas'; end. --- NEW FILE: Dclionxsql.dof --- [FileVersion] Version=7.0 [Compiler] A=8 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=1 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; NamespacePrefix= SymbolDeprecated=1 SymbolLibrary=1 SymbolPlatform=1 UnitLibrary=1 UnitPlatform=1 UnitDeprecated=1 HResultCompat=1 HidingMember=1 HiddenVirtual=1 Garbage=1 BoundsError=1 ZeroNilCompat=1 StringConstTruncated=1 ForLoopVarVarPar=1 TypedConstVarPar=1 AsgToTypedConst=1 CaseLabelRange=1 ForVariable=1 ConstructingAbstract=1 ComparisonFalse=1 ComparisonTrue=1 ComparingSignedUnsigned=1 CombiningSignedUnsigned=1 UnsupportedConstruct=1 FileOpen=1 FileOpenUnitSrc=1 BadGlobalSymbol=1 DuplicateConstructorDestructor=1 InvalidDirective=1 PackageNoLink=1 PackageThreadVar=1 ImplicitImport=1 HPPEMITIgnored=1 NoRetVal=1 UseBeforeDef=1 ForLoopVarUndef=1 UnitNameMismatch=1 NoCFGFileFound=1 MessageDirective=1 ImplicitVariants=1 UnicodeToLocale=1 LocaleToUnicode=1 ImagebaseMultiple=1 SuspiciousTypecast=1 PrivatePropAccessor=1 UnsafeType=0 UnsafeCode=0 UnsafeCast=0 [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription=InstantObjects NexusDbSQL Design-Time Support (Delphi 7) [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath= Packages=vcl;rtl;vclx;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;adortl;ibxpress;vclactnband;vclshlctrls;K102_R70;S402_r70;S402br70;Rz30Ctls70;Rz30DBCtls70;CS20Comps70;CSP20I70;ip4000v7;Rave50CLX;Rave50VCL;madBasic_;madDisAsm_;NexusDB107si70;NexusDB1071x70;NexusDB107sr70;NexusDB107pv70;NexusDB107sq70;NexusDB107re70;NexusDB107ts70;NexusDB107tc70;NexusDB107tn70;NexusDB107tw70;NexusDB107db70;NexusDB107ch70;DataAbstract_Core_D7;NexusDB107ll70;NexusDB107sd70;NexusDB107st70;NexusDB107pt70;IOCore;ionx70;CLXIB;VCLIB Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= Launcher= UseLauncher=0 DebugCWD= [Language] ActiveLang= ProjectLang= RootDir=C:\Program Files\Borland\Delphi7\Bin\ [Version Info] IncludeVerInfo=1 AutoIncBuild=0 MajorVer=1 MinorVer=0 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=3081 CodePage=1252 [Version Info Keys] CompanyName= FileDescription= FileVersion=1.0.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName= ProductVersion=1.0.0.0 Comments= [Excluded Packages] D:\L\Raize\RC3\Bin\Rz30Ctls_Dsgn70.bpl=Raize Components 3.0.10 D:\L\Raize\RC3\Bin\Rz30DBCtls_Dsgn70.bpl=Raize Components 3.0.10 (Data-Aware) C:\Program Files\Borland\Delphi7\Projects\Bpl\NexusDB107dv70.bpl=NexusDB 1.07 - designtime - VCL70 D:\L\Raize\DM15\Bin\DM15_Dsgn70.bpl=DropMaster 1.50 D:\L\Abbrevia\B304VD70.BPL=TurboPower Abbrevia 3.04 Design-time package - VCL70 D:\L\kbmMemTbl\lib7\kbmMemD7Des.bpl=kbmMemTable - Designtime Package D:\L\Rave5\D7\dclRave.bpl=Rave Reports BEX 5.1 Package D:\L\APRO\A405_D70.BPL=TurboPower Async Professional 4.05 Designtime Package - VCL70 D:\L\XMLPro\X257PD70.BPL=TurboPower XMLPartner Professional 2.57 Designtime package - VCL70 c:\program files\borland\delphi7\Bin\dclIntraweb_50_70.bpl=Intraweb 5.0 Design Package for Delphi 7 D:\L\Woll2Woll\ip4000vcl7\package\ip4000dcl7.bpl=Woll2Woll InfoPower 4000 c:\program files\borland\delphi7\Bin\dcltee70.bpl=TeeChart Components D:\L\OPartner\P164_D70.BPL=TurboPower OfficePartner 1.64 Design-time package - VCL70 c:\program files\borland\delphi7\Bin\dcldss70.bpl=Borland Decision Cube Components D:\L\UPF\Lib\D7\uPluginFramework7.bpl=UIL Plugin Framework 6.0 c:\program files\borland\delphi7\Bin\dclofficexp70.bpl=Microsoft Office XP Sample Automation Server Wrapper Components c:\program files\borland\delphi7\Bin\dclclxdb70.bpl=Borland CLX Database Components C:\Program Files\Borland\Delphi7\Bin\dclclxstd70.bpl=Borland CLX Standard Components D:\L\Data Abstract\Dcu\D7\DataAbstract_Core_D7.bpl=RemObjects Data Abstract - Core Library D:\L\RO_SDK\Dcu\D7\RemObjects_Core_D7.bpl=RemObjects SDK - Core Library D:\L\Data Abstract\Dcu\D7\DataAbstract_NexusDBDriver_D7.bpl=Data Abstract - NexusDB Driver D:\L\RO_PScript\Dcu\D7\PascalScript_Core_D7.bpl=RemObjects Pascal Script - Core Package D:\L\RO_PScript\Dcu\D7\PascalScript_RO_D7.bpl=RemObjects Pascal Script - RemObjects SDK 3.0 Integration D:\L\RO_SDK\Dcu\D7\RemObjects_Indy_D7.bpl=RemObjects SDK - Indy Library D:\L\Abbrevia\B304CD70.BPL=TurboPower Abbrevia 3.04 CLX Design-time package - CLX70 D:\L\XMLPro\X257QD70.BPL=TurboPower XMLPartner Professional 2.57 Designtime package - CLX D:\L\RO_SDK\Dcu\D7\RemObjects_IDE_D7.bpl=RemObjects SDK - IDE Integration C:\Program Files\Common Files\RemObjects Software\Everwood\Bin\RemObjects_Everwood_D7.bpl=RemObjects Everwood for Delphi D:\L\RO_SDK\Dcu\D7\RemObjects_WebBroker_D7.bpl=RemObjects SDK - WebBroker Library D:\L\RO_SDK\Dcu\D7\RemObjects_RODX_D7.bpl=RemObjects SDK - RODXSock Library D:\L\RO_SDK\Dcu\D7\RemObjects_BPDX_D7.bpl=RemObjects SDK - BPDX Library D:\L\RO_SDK\Dcu\D7\RemObjects_DataSnap_D7.bpl=RemObjects SDK - DataSnap Integration Pack D:\L\Woll2Woll\ip4000vcl7\package\ip4000clientvcl7.bpl=Woll2Woll InfoPower 4000 for Midas D:\L\Data Abstract\Dcu\D7\DataAbstract_ADODriver_D7.bpl=RemObjects Data Abstract - ADOExpress/dbGo Driver D:\L\Data Abstract\Dcu\D7\DataAbstract_Scripting_D7.bpl=RemObjects Data Abstract - Scripting Integration Library D:\L\Data Abstract\Dcu\D7\DataAbstract_DBXDriver_D7.bpl=RemObjects Data Abstract - dbExpress Driver D:\L\Data Abstract\Dcu\D7\DataAbstract_IBXDriver_D7.bpl=RemObjects Data Abstract - InterBase Express Driver D:\L\Data Abstract\Dcu\D7\DataAbstract_IDE_D7.bpl=RemObjects Data Abstract - IDE Package D:\L\Data Abstract\Dcu\D7\RemObjects_NexusDB_D7.bpl=RemObjects SDK - NexusDB Library c:\program files\borland\delphi7\Projects\Bpl\NNWFaxD7.bpl=NNWFax 2.0 --- NEW FILE: ionxsql70.dof --- [FileVersion] Version=7.0 [Compiler] A=8 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=0 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; NamespacePrefix= SymbolDeprecated=1 SymbolLibrary=1 SymbolPlatform=1 UnitLibrary=1 UnitPlatform=1 UnitDeprecated=1 HResultCompat=1 HidingMember=1 HiddenVirtual=1 Garbage=1 BoundsError=1 ZeroNilCompat=1 StringConstTruncated=1 ForLoopVarVarPar=1 TypedConstVarPar=1 AsgToTypedConst=1 CaseLabelRange=1 ForVariable=1 ConstructingAbstract=1 ComparisonFalse=1 ComparisonTrue=1 ComparingSignedUnsigned=1 CombiningSignedUnsigned=1 UnsupportedConstruct=1 FileOpen=1 FileOpenUnitSrc=1 BadGlobalSymbol=1 DuplicateConstructorDestructor=1 InvalidDirective=1 PackageNoLink=1 PackageThreadVar=1 ImplicitImport=1 HPPEMITIgnored=1 NoRetVal=1 UseBeforeDef=1 ForLoopVarUndef=1 UnitNameMismatch=1 NoCFGFileFound=1 MessageDirective=1 ImplicitVariants=1 UnicodeToLocale=1 LocaleToUnicode=1 ImagebaseMultiple=1 SuspiciousTypecast=1 PrivatePropAccessor=1 UnsafeType=0 UnsafeCode=0 UnsafeCast=0 [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription=InstantObjects NexusDbSQL support [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath=..\..\..\core Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOffice2k;DJCL70;JVCL200_R70;qrpt;CS20Comps70;CSP20I70;iobde70;ioado70;iodbx70;Nexus100si70;Nexus1001x70;Nexus100sr70;Nexus100pv70;Nexus100sq70;Nexus100re70;Nexus100ts70;Nexus100tc70;Nexus100tn70;Nexus100tw70;Nexus100db70;Nexus100ch70;rbTDBC77;rbDIDE77;rbDAD77;rbUSER77;rbRCL77;rbDBDE77;rbBDE77;rbDB77;rbADO77;rbDBE77;rbIBE77;rbIDE77;rbCIDE77;rbRIDE77;rbRAP77;Rz252D70;Rz252N70;Nexus100ll70;Nexus100sd70;Nexus100st70;Nexus100pt70;ionx70 Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= Launcher= UseLauncher=0 DebugCWD= [Language] ActiveLang= ProjectLang= RootDir=C:\D7\Borland\Delphi7\Bin\ [Version Info] IncludeVerInfo=1 AutoIncBuild=0 MajorVer=1 MinorVer=0 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=1040 CodePage=1252 [Version Info Keys] CompanyName= FileDescription= FileVersion=1.0.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName= ProductVersion=1.0.0.0 Comments= [Excluded Packages] D:\L\Rave5\D7\dclRave.bpl=Rave Reports BEX 5.1 Package D:\L\APRO\A405_D70.BPL=TurboPower Async Professional 4.05 Designtime Package - VCL70 D:\L\XMLPro\X257PD70.BPL=TurboPower XMLPartner Professional 2.57 Designtime package - VCL70 D:\L\Woll2Woll\ip4000vcl7\package\ip4000dcl7.bpl=Woll2Woll InfoPower 4000 c:\program files\borland\delphi7\Bin\dcltee70.bpl=TeeChart Components D:\L\OPartner\P164_D70.BPL=TurboPower OfficePartner 1.64 Design-time package - VCL70 c:\program files\borland\delphi7\Bin\dcldss70.bpl=Borland Decision Cube Components D:\L\UPF\Lib\D7\uPluginFramework7.bpl=UIL Plugin Framework 6.0 c:\program files\borland\delphi7\Bin\dclofficexp70.bpl=Microsoft Office XP Sample Automation Server Wrapper Components c:\program files\borland\delphi7\Bin\dclclxdb70.bpl=Borland CLX Database Components C:\Program Files\Borland\Delphi7\Bin\dclclxstd70.bpl=Borland CLX Standard Components D:\L\Data Abstract\Dcu\D7\DataAbstract_Core_D7.bpl=RemObjects Data Abstract - Core Library D:\L\RO_SDK\Dcu\D7\RemObjects_Core_D7.bpl=RemObjects SDK - Core Library D:\L\Data Abstract\Dcu\D7\DataAbstract_NexusDBDriver_D7.bpl=Data Abstract - NexusDB Driver D:\L\RO_PScript\Dcu\D7\PascalScript_Core_D7.bpl=RemObjects Pascal Script - Core Package D:\L\RO_PScript\Dcu\D7\PascalScript_RO_D7.bpl=RemObjects Pascal Script - RemObjects SDK 3.0 Integration D:\L\RO_SDK\Dcu\D7\RemObjects_Indy_D7.bpl=RemObjects SDK - Indy Library D:\L\Abbrevia\B304CD70.BPL=TurboPower Abbrevia 3.04 CLX Design-time package - CLX70 D:\L\XMLPro\X257QD70.BPL=TurboPower XMLPartner Professional 2.57 Designtime package - CLX D:\L\RO_SDK\Dcu\D7\RemObjects_IDE_D7.bpl=RemObjects SDK - IDE Integration C:\Program Files\Common Files\RemObjects Software\Everwood\Bin\RemObjects_Everwood_D7.bpl=RemObjects Everwood for Delphi D:\L\RO_SDK\Dcu\D7\RemObjects_WebBroker_D7.bpl=RemObjects SDK - WebBroker Library D:\L\RO_SDK\Dcu\D7\RemObjects_RODX_D7.bpl=RemObjects SDK - RODXSock Library D:\L\RO_SDK\Dcu\D7\RemObjects_BPDX_D7.bpl=RemObjects SDK - BPDX Library D:\L\RO_SDK\Dcu\D7\RemObjects_DataSnap_D7.bpl=RemObjects SDK - DataSnap Integration Pack D:\L\Woll2Woll\ip4000vcl7\package\ip4000clientvcl7.bpl=Woll2Woll InfoPower 4000 for Midas D:\L\Data Abstract\Dcu\D7\DataAbstract_ADODriver_D7.bpl=RemObjects Data Abstract - ADOExpress/dbGo Driver D:\L\Data Abstract\Dcu\D7\DataAbstract_Scripting_D7.bpl=RemObjects Data Abstract - Scripting Integration Library D:\L\Data Abstract\Dcu\D7\DataAbstract_DBXDriver_D7.bpl=RemObjects Data Abstract - dbExpress Driver D:\L\Data Abstract\Dcu\D7\DataAbstract_IBXDriver_D7.bpl=RemObjects Data Abstract - InterBase Express Driver D:\L\Data Abstract\Dcu\D7\DataAbstract_IDE_D7.bpl=RemObjects Data Abstract - IDE Package D:\L\Data Abstract\Dcu\D7\RemObjects_NexusDB_D7.bpl=RemObjects SDK - NexusDB Library c:\program files\borland\delphi7\Projects\Bpl\NNWFaxD7.bpl=NNWFax 2.0 |
From: Carlo B. <car...@us...> - 2004-11-17 20:59:59
|
Update of /cvsroot/instantobjects/Source/Design In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Source/Design Modified Files: InstantAttributeEditor.pas InstantModelExpert.pas InstantModelExplorer.dfm Log Message: VERSION 1.6.7 - Info into Readme.txt Index: InstantModelExplorer.dfm =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/InstantModelExplorer.dfm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InstantModelExplorer.dfm 20 Jul 2004 11:07:49 -0000 1.2 --- InstantModelExplorer.dfm 17 Nov 2004 20:59:49 -0000 1.3 *************** *** 17,21 **** OldCreateOrder = True Position = poScreenCenter - OnCreate = FormCreate OnShow = FormShow PixelsPerInch = 96 --- 17,20 ---- Index: InstantAttributeEditor.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/InstantAttributeEditor.pas,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** InstantAttributeEditor.pas 1 Nov 2004 08:25:44 -0000 1.7 --- InstantAttributeEditor.pas 17 Nov 2004 20:59:49 -0000 1.8 *************** *** 26,29 **** --- 26,30 ---- * Contributor(s): * Carlo Barazzetta, Adrea Petrelli: porting Kylix + * Steven Mitchell: updating for OFExpt in MM7 * * ***** END LICENSE BLOCK ***** *) *************** *** 47,50 **** --- 48,53 ---- type TInstantStringsEvent = procedure(Sender: TObject; Items: TStrings) of object; + TInstantAttrStringsEvent = procedure(Sender: TObject; const ClassName: String; + Items: TStrings) of object; TInstantAttributeEditorForm = class(TInstantEditForm) *************** *** 110,116 **** --- 113,121 ---- procedure ExternalLinkedNameEditEnter(Sender: TObject); private + FInMM: boolean; // True if in ModelMaker, default is False FLimited: Boolean; FModel: TInstantCodeModel; FOnLoadClasses: TInstantStringsEvent; + FOnLoadClassAttributes: TInstantAttrStringsEvent; function GetSubject: TInstantCodeAttribute; procedure SetSubject(const Value: TInstantCodeAttribute); *************** *** 119,123 **** protected procedure LoadClasses; ! procedure LoadClassAttributes; procedure LoadData; override; procedure LoadEnums(TypeInfo: PTypeInfo; Items: TStrings; --- 124,128 ---- protected procedure LoadClasses; ! procedure LoadClassAttributes; procedure LoadData; override; procedure LoadEnums(TypeInfo: PTypeInfo; Items: TStrings; *************** *** 132,138 **** --- 137,145 ---- procedure UpdateControls; public + property InMM: boolean read FInMM write FInMM; property Limited: Boolean read FLimited write SetLimited; property Model: TInstantCodeModel read FModel write SetModel; property OnLoadClasses: TInstantStringsEvent read FOnLoadClasses write FOnLoadClasses; + property OnLoadClassAttributes: TInstantAttrStringsEvent read FOnLoadClassAttributes write FOnLoadClassAttributes; property Subject: TInstantCodeAttribute read GetSubject write SetSubject; end; *************** *** 152,155 **** --- 159,163 ---- PageControl.ActivePage := DefinitionSheet; ActiveControl := NameEdit; + FInMM := False; end; *************** *** 328,332 **** end; end; ! inherited; end; --- 336,343 ---- end; end; ! if InMM then ! SaveData ! else ! inherited; end; *************** *** 433,439 **** with TypeEdit do SubjectExposer.AssignFieldValue(Field, Text); LoadVisibilities; LoadIsExternal; - UpdateControls; end; --- 444,452 ---- with TypeEdit do SubjectExposer.AssignFieldValue(Field, Text); + // Controls need to be enabled first to + // reliably load combo dropdown lists in MM OFExpt + UpdateControls; LoadVisibilities; LoadIsExternal; end; *************** *** 460,469 **** var HasName, HasClass, HasExternalStoredName, HasExternalLinkedName: Boolean; ! IsComplex, IsContainer, IsExternal, IsMaskable, IsString, IsValid: Boolean; begin ! if (Subject.AttributeType<>atParts) and (Subject.AttributeType<>atReferences) then Subject.IsExternal := ceNo; ! if Subject.IsExternal = ceLinked then Subject.ExternalStoredName := ''; ! if Subject.IsExternal = ceStored then Subject.ExternalLinkedName := ''; HasName := NameEdit.Text <> ''; --- 473,485 ---- var HasName, HasClass, HasExternalStoredName, HasExternalLinkedName: Boolean; ! IsComplex, IsContainer, CanBeExternal, IsExternal, IsMaskable, IsString, IsValid: Boolean; begin ! CanBeExternal := Subject.AttributeType in [atPart, atParts, atReferences]; ! if not CanBeExternal then Subject.IsExternal := ceNo; ! if Subject.IsExternal = ceLinked then ! Subject.ExternalStoredName := ''; ! if Subject.IsExternal = ceStored then ! Subject.ExternalLinkedName := ''; HasName := NameEdit.Text <> ''; *************** *** 478,482 **** IsString := Subject.AttributeType in [atString, atMemo]; IsValid := HasName and (not IsComplex or HasClass) and ! (not IsExternal or (HasExternalStoredName or HasExternalLinkedName) ); DisableSubControls(DefinitionSheet, Limited); --- 494,498 ---- IsString := Subject.AttributeType in [atString, atMemo]; IsValid := HasName and (not IsComplex or HasClass) and ! (not IsExternal or (HasExternalStoredName or HasExternalLinkedName)); DisableSubControls(DefinitionSheet, Limited); *************** *** 497,510 **** EnableCtrl(MethodRemoveCheckBox, IsContainer); ! EnableCtrl(IsExternalEdit, IsContainer); ! EnableCtrl(IsExternalLabel, IsContainer); end; ! EnableCtrl(StorageNameLabel, not (IsContainer and IsExternal) ); ! EnableCtrl(StorageNameEdit, not (IsContainer and IsExternal) ); ! EnableCtrl(ExternalLinkedNameLabel, IsContainer and (Subject.IsExternal=ceLinked) ); ! EnableCtrl(ExternalLinkedNameEdit, IsContainer and (Subject.IsExternal=ceLinked) ); ! EnableCtrl(ExternalStoredNameLabel, IsContainer and (Subject.IsExternal=ceStored) ); ! EnableCtrl(ExternalStoredNameEdit, IsContainer and (Subject.IsExternal=ceStored) ); EnableCtrl(SizeLabel, IsString); --- 513,526 ---- EnableCtrl(MethodRemoveCheckBox, IsContainer); ! EnableCtrl(IsExternalEdit, CanBeExternal); ! EnableCtrl(IsExternalLabel, CanBeExternal); end; ! EnableCtrl(StorageNameLabel, not IsExternal); ! EnableCtrl(StorageNameEdit, not IsExternal); ! EnableCtrl(ExternalLinkedNameLabel, IsExternal and (Subject.IsExternal = ceLinked)); ! EnableCtrl(ExternalLinkedNameEdit, IsExternal and (Subject.IsExternal = ceLinked)); ! EnableCtrl(ExternalStoredNameLabel, IsExternal and (Subject.IsExternal = ceStored)); ! EnableCtrl(ExternalStoredNameEdit, IsExternal and (Subject.IsExternal = ceStored)); EnableCtrl(SizeLabel, IsString); *************** *** 546,553 **** try Items.Clear; ! if Assigned(FModel) then ! if Assigned(FModel.FindClass(ObjectClassEdit.Text)) then ! for I := 0 to Pred(FModel.FindClass(ObjectClassEdit.Text).AttributeCount) do ! Items.Add(FModel.FindClass(ObjectClassEdit.Text).Attributes[i].Name); finally Items.EndUpdate; --- 562,574 ---- try Items.Clear; ! if Assigned(FOnLoadClassAttributes) then begin ! FOnLoadClassAttributes(Self, ObjectClassEdit.Text, Items); ! end ! else begin ! if Assigned(FModel) then ! if Assigned(FModel.FindClass(ObjectClassEdit.Text)) then ! for I := 0 to Pred(FModel.FindClass(ObjectClassEdit.Text).AttributeCount) do ! Items.Add(FModel.FindClass(ObjectClassEdit.Text).Attributes[i].Name); ! end; finally Items.EndUpdate; Index: InstantModelExpert.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/InstantModelExpert.pas,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** InstantModelExpert.pas 29 Jul 2004 20:43:15 -0000 1.4 --- InstantModelExpert.pas 17 Nov 2004 20:59:49 -0000 1.5 *************** *** 41,44 **** --- 41,46 ---- type + TIOMetaDataCheckState = (mcNeverChecked, mcCheckError, mcCheckCorrect); + { When the IDE is being shut down, items in the Database-menu are destroyed even if they don't belong to the menu. Since we want to *************** *** 76,79 **** --- 78,82 ---- FUpdateDisableCount: Integer; FUpdateTimer: TTimer; + MetaDataCheckState : TIOMetaDataCheckState; procedure ExplorerApplyClass(Sender: TObject; AClass: TInstantCodeClass; ChangeInfo: TInstantCodeClassChangeInfo); *************** *** 108,111 **** --- 111,115 ---- procedure EnumSources(Modules: TInterfaceList; Enumerator: TSourceEnumerator); + procedure CheckIOMetadataKeyword(const FileName, Source: string); procedure ExplorerItemClick(Sender: TObject); procedure GetModelModules(Modules: TInterfaceList); *************** *** 120,123 **** --- 124,128 ---- procedure IDEModuleNotification(Sender: TObject; NotifyCode: TNotifyCode; const FileName: string); + function IsProjectUnit(FileName: string): Boolean; function IsModelUnit(FileName: string): Boolean; procedure ShowExplorer; *************** *** 154,158 **** uses SysUtils, TypInfo, InstantDesignUtils, InstantUtils, InstantUnitSelect, ! Registry, InstantConnectionManager; const --- 159,163 ---- uses SysUtils, TypInfo, InstantDesignUtils, InstantUtils, InstantUnitSelect, ! Registry, InstantConnectionManager, Dialogs; const *************** *** 253,257 **** begin Result := Result + S + List[I]; ! S := ', '; end; end; --- 258,262 ---- begin Result := Result + S + List[I]; ! S := ', ' + sLineBreak + ' '; end; end; *************** *** 864,868 **** case NotifyCode of fnFileOpened: ! ; fnFileClosing: if IsModelUnit(FileName) then --- 869,874 ---- case NotifyCode of fnFileOpened: ! if IsProjectUnit(FileName) then ! MetaDataCheckState := mcNeverChecked; fnFileClosing: if IsModelUnit(FileName) then *************** *** 884,887 **** --- 890,898 ---- end; + function TInstantModelExpert.IsProjectUnit(FileName: string): Boolean; + begin + Result := Assigned(ActiveProject) and SameText(ActiveProject.FileName, FileName); + end; + function TInstantModelExpert.IsModelUnit(FileName: string): Boolean; var *************** *** 991,994 **** --- 1002,1013 ---- try CollectModules(Project, Modules, Units); + if MetaDataCheckState = mcNeverChecked then + begin + MetaDataCheckState := mcCheckCorrect; + EnumSources(Modules, CheckIOMetadataKeyword); + if MetaDataCheckState = mcCheckError then + MessageDlg(Format('WARNING: Project %s contains some class metadata without IOMETADATA keyword. Please refer to IOMETADATA_keyword.txt in instantobjects\doc folder.', + [FActiveProjectName]), mtWarning, [mbOK], 0); + end; Result := (CheckTime = 0) or ModuleModified(Project, CheckTime) or *************** *** 1147,1149 **** --- 1166,1174 ---- end; + procedure TInstantModelExpert.CheckIOMetadataKeyword(const FileName, Source: string); + begin + if pos('{ stored', Source) > 0 then + MetaDataCheckState := mcCheckError; + end; + end. |
From: Carlo B. <car...@us...> - 2004-11-17 20:59:59
|
Update of /cvsroot/instantobjects/Source/ObjectFoundry In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Source/ObjectFoundry Modified Files: OFClasses.pas OFExpert.pas OFExpt.dpr Log Message: VERSION 1.6.7 - Info into Readme.txt Index: OFExpert.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/ObjectFoundry/OFExpert.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OFExpert.pas 2 Feb 2004 20:52:23 -0000 1.1 --- OFExpert.pas 17 Nov 2004 20:59:50 -0000 1.2 *************** *** 11,15 **** --- 11,18 ---- FOptions: TOFOptions; procedure AttributeEditorLoadClasses(Sender: TObject; Items: TStrings); + procedure AttributeEditorLoadClassAttrs(Sender: TObject; + const ClassName: String; Items: TStrings); function GetOptions: TOFOptions; + function IsInstantObjectClass(AClass: IMMClassBase): Boolean; protected procedure Destroyed; safecall; *************** *** 59,71 **** SObjectFoundry = 'ObjectFoundry'; ! procedure TObjectFoundryExpert.AttributeEditorLoadClasses(Sender: TObject; ! Items: TStrings); ! function IsInstantObjectClass(AClass: IMMClassBase): Boolean; ! begin ! Result := SameText(AClass.Name, TInstantObject.ClassName) or ! (Assigned(AClass.Ancestor) and IsInstantObjectClass(AClass.Ancestor)); ! end; var I: Integer; --- 62,106 ---- SObjectFoundry = 'ObjectFoundry'; ! // SRM - 01 Oct 2004: begin ! // Function externalised from AttributeEditorLoadClasses function. ! function TObjectFoundryExpert.IsInstantObjectClass(AClass: IMMClassBase): ! Boolean; ! begin ! Result := SameText(AClass.Name, TInstantObject.ClassName) or ! (Assigned(AClass.Ancestor) and IsInstantObjectClass(AClass.Ancestor)); ! end; ! procedure TObjectFoundryExpert.AttributeEditorLoadClassAttrs( ! Sender: TObject; const ClassName: String; Items: TStrings); ! var ! i, j: Integer; ! Attr: IMMIOAttribute; ! Prop: IMMProperty; ! CodeModel: IMMCodeModel; ! AClass: IMMClassBase; ! begin ! CodeModel := MMToolServices.CodeModel; ! if Assigned(CodeModel) then begin ! for i := 0 to Pred(CodeModel.ClassCount) do ! begin ! AClass := CodeModel.Classes[i]; ! if IsInstantObjectClass(AClass) and ! SameText(AClass.Name, ClassName) then begin ! for j := 0 to Pred(AClass.MemberCount) do begin ! Attr := MemberAsAttribute(AClass.Members[j]); ! if Assigned(Attr) and Attr.IsIOAttribute then begin ! Prop := AttributeAsProperty(Attr); ! if Assigned(Prop) then ! Items.Add(Prop.Name); ! end; { if } ! end; { for } ! Break; ! end; { if } ! end; ! end; { if } ! end; + procedure TObjectFoundryExpert.AttributeEditorLoadClasses(Sender: TObject; + Items: TStrings); var I: Integer; *************** *** 74,78 **** begin CodeModel := MMToolServices.CodeModel; ! if Assigned(CodeModel) then for I := 0 to Pred(CodeModel.ClassCount) do begin --- 109,113 ---- begin CodeModel := MMToolServices.CodeModel; ! if Assigned(CodeModel) then begin for I := 0 to Pred(CodeModel.ClassCount) do begin *************** *** 81,85 **** --- 116,122 ---- Items.Add(AClass.Name); end; + end; { if } end; + // SRM - 01 Oct 2004: end procedure TObjectFoundryExpert.Destroyed; *************** *** 97,101 **** --- 134,140 ---- with TInstantAttributeEditorForm.Create(nil) do try + InMM := True; // SRM - 14 Oct 2004 OnLoadClasses := AttributeEditorLoadClasses; + OnLoadClassAttributes := AttributeEditorLoadClassAttrs; // SRM - 01 Oct 2004 Subject := Attribute; Result := ShowModal = mrOK; Index: OFClasses.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/ObjectFoundry/OFClasses.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** OFClasses.pas 1 Nov 2004 08:25:44 -0000 1.2 --- OFClasses.pas 17 Nov 2004 20:59:50 -0000 1.3 *************** *** 243,251 **** begin Tailor.Apply; ! for MT := Low(MT) to High(MT) do if IsContainer and (MT in MethodTypes) then AddMethod(MT, Tailor.MethodByType[MT]) else RemoveMethod(MT); end; --- 243,252 ---- begin Tailor.Apply; ! for MT := Low(MT) to High(MT) do begin if IsContainer and (MT in MethodTypes) then AddMethod(MT, Tailor.MethodByType[MT]) else RemoveMethod(MT); + end; { for } end; *************** *** 470,473 **** --- 471,475 ---- procedure TMMCodeAttribute.Save; begin + Tailor.Apply; ApplyData; ApplyAttribute; Index: OFExpt.dpr =================================================================== RCS file: /cvsroot/instantobjects/Source/ObjectFoundry/OFExpt.dpr,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OFExpt.dpr 2 Feb 2004 20:52:23 -0000 1.1 --- OFExpt.dpr 17 Nov 2004 20:59:50 -0000 1.2 *************** *** 1,5 **** library OFExpt; ! {$R *.RES} uses --- 1,7 ---- library OFExpt; ! {$R OFExpt_ver.res} // SRM - 02 Nov 2004 ! //{$R *.RES} // SRM - 02 Nov 2004 ! {$R ..\Design\iodesimages.res} // SRM - 01 Oct 2004 uses |
From: Carlo B. <car...@us...> - 2004-11-17 20:59:58
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Source/Core Modified Files: InstantCode.pas InstantPersistence.pas Added Files: InstantPump.pas Log Message: VERSION 1.6.7 - Info into Readme.txt Index: InstantPersistence.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPersistence.pas,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** InstantPersistence.pas 11 Oct 2004 07:47:32 -0000 1.13 --- InstantPersistence.pas 17 Nov 2004 20:59:48 -0000 1.14 *************** *** 5455,5460 **** InstantGraphicFileFormat : TInstantGraphicFileFormat; begin ! SaveDataToStream(Stream); ! if Stream.Position <> 0 then begin Stream.Position := 0; --- 5455,5459 ---- InstantGraphicFileFormat : TInstantGraphicFileFormat; begin ! if Stream.Size > 0 then begin Stream.Position := 0; --- NEW FILE: InstantPump.pas --- (* * InstantObjects * Database Pump *) (* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is: InstantObjects Pump * * The Initial Developer of the Original Code is: Nando Dessena * * Portions created by the Initial Developer are Copyright (C) 2004 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * ***** END LICENSE BLOCK ***** *) unit InstantPump; interface uses SysUtils, Classes, InstantPersistence; type EInstantPumpError = class(Exception); TInstantPumpOption = (poEmptyDestBeforePump); TInstantPumpOptions = set of TInstantPumpOption; const DefaultInstantPumpOptions = [poEmptyDestBeforePump]; type TInstantPump = class(TComponent) private FDestConnector: TInstantConnector; FSourceConnector: TInstantConnector; FOptions: TInstantPumpOptions; FBeforePump: TInstantSchemeEvent; FAfterPump: TInstantSchemeEvent; procedure SetDestConnector(const Value: TInstantConnector); procedure SetSourceConnector(const Value: TInstantConnector); procedure InternalPump(const Model: TInstantModel); procedure PumpAllObjects(const ClassMetadata: TInstantClassMetadata); procedure DeleteAllDestObjects(const ClassMetadata: TInstantClassMetadata); protected procedure CheckSourceConnector; procedure CheckDestConnector; procedure CheckConnectors; procedure PumpError(const ErrorMsg: string); procedure DoBeforePump(Scheme: TInstantScheme); procedure DoAfterPump(Scheme: TInstantScheme); procedure Notification(AComponent: TComponent; Operation: TOperation); override; public constructor Create(AOwner: TComponent); override; procedure Pump(Model: TInstantModel = nil); published property SourceConnector: TInstantConnector read FSourceConnector write SetSourceConnector; property DestConnector: TInstantConnector read FDestConnector write SetDestConnector; property Options: TInstantPumpOptions read FOptions write FOptions default DefaultInstantPumpOptions; property BeforePump: TInstantSchemeEvent read FBeforePump write FBeforePump; property AfterPump: TInstantSchemeEvent read FAfterPump write FAfterPump; end; implementation resourcestring SUnassignedSourceConnector = 'SourceConnector is not assigned'; SUnassignedDestConnector = 'DestConnector is not assigned'; SConnectorsMustBeDifferent = 'SourceConnector cannot be equal to DestConnector'; { TInstantPump } constructor TInstantPump.Create(AOwner: TComponent); begin inherited; FOptions := DefaultInstantPumpOptions; end; procedure TInstantPump.SetDestConnector(const Value: TInstantConnector); begin if Value <> FDestConnector then begin if Assigned(FDestConnector) then FDestConnector.RemoveFreeNotification(Self); FDestConnector := Value; if Assigned(FDestConnector) then FDestConnector.FreeNotification(Self); end; end; procedure TInstantPump.SetSourceConnector(const Value: TInstantConnector); begin if Value <> FSourceConnector then begin if Assigned(FSourceConnector) then FSourceConnector.RemoveFreeNotification(Self); FSourceConnector := Value; if Assigned(FSourceConnector) then FSourceConnector.FreeNotification(Self); end; end; procedure TInstantPump.CheckSourceConnector; begin if not Assigned(FSourceConnector) then PumpError(SUnassignedSourceConnector); end; procedure TInstantPump.CheckDestConnector; begin if not Assigned(FDestConnector) then PumpError(SUnassignedDestConnector); end; procedure TInstantPump.CheckConnectors; begin CheckSourceConnector; CheckDestConnector; if FSourceConnector = FDestConnector then PumpError(SConnectorsMustBeDifferent); end; procedure TInstantPump.PumpError(const ErrorMsg: string); begin raise EInstantPumpError.Create(ErrorMsg); end; procedure TInstantPump.Pump(Model: TInstantModel = nil); var Scheme: TInstantScheme; begin CheckConnectors; SourceConnector.Connect; try DestConnector.Connect; try if Model = nil then Model := InstantModel; Scheme := FSourceConnector.CreateScheme(Model); try DoBeforePump(Scheme); InternalPump(Model); DoAfterPump(Scheme); finally Scheme.Free; end; finally DestConnector.Disconnect; end; finally SourceConnector.Disconnect; end; end; procedure TInstantPump.DoBeforePump(Scheme: TInstantScheme); begin if Assigned(FBeforePump) then FBeforePump(Self, Scheme); end; procedure TInstantPump.DoAfterPump(Scheme: TInstantScheme); begin if Assigned(FAfterPump) then FAfterPump(Self, Scheme); end; procedure TInstantPump.InternalPump(const Model: TInstantModel); var I: Integer; ClassMetadata: TInstantClassMetadata; begin FDestConnector.StartTransaction; try for I := 0 to Pred(Model.ClassMetadatas.Count) do begin ClassMetadata := Model.ClassMetadatas[I]; if ClassMetadata.IsStored then begin if poEmptyDestBeforePump in FOptions then DeleteAllDestObjects(ClassMetadata); PumpAllObjects(ClassMetadata); end; end; FDestConnector.CommitTransaction; except FDestConnector.RollbackTransaction; raise; end; end; procedure TInstantPump.PumpAllObjects(const ClassMetadata: TInstantClassMetadata); var Query : TInstantQuery; SourceObject, DestObject: TInstantObject; i : integer; begin Query := FSourceConnector.CreateQuery; try Query.Command := 'select * from ' + ClassMetadata.Name + ' order by Id'; Query.Open; for i := 0 to Query.ObjectCount -1 do begin SourceObject := Query.Objects[i] as TInstantObject; DestObject := TInstantObjectClass(Query.ObjectClass).Clone(SourceObject, FDestConnector); DestObject.Store; end; finally Query.Close; Query.Free; end; end; procedure TInstantPump.DeleteAllDestObjects(const ClassMetadata: TInstantClassMetadata); var Query: TInstantQuery; i : integer; begin Query := FDestConnector.CreateQuery; try Query.Command := 'select * from ' + ClassMetadata.Name + ' order by Id'; Query.Open; for i := 0 to Query.ObjectCount -1 do begin if (Query.Objects[i] is TInstantObject) then TInstantObject(Query.Objects[i]).Dispose; end; finally Query.Close; Query.Free; end; end; procedure TInstantPump.Notification(AComponent: TComponent; Operation: TOperation); begin inherited; if Operation = opRemove then begin if AComponent = FSourceConnector then FSourceConnector := nil; if AComponent = FDestConnector then FDestConnector := nil; end; end; end. Index: InstantCode.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantCode.pas,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** InstantCode.pas 30 Sep 2004 15:27:54 -0000 1.5 --- InstantCode.pas 17 Nov 2004 20:59:48 -0000 1.6 *************** *** 28,31 **** --- 28,33 ---- * Nando Dessena, Andrea Petrelli: * - ExternalPart, ExternalParts and ExternalReferences support + * Steven Mitchell: + * - Added MetadataInfo identification tag * ***** END LICENSE BLOCK ***** *) *************** *** 1530,1533 **** --- 1532,1536 ---- {$ENDIF} + MetadataInfoID = 'IOMETADATA'; MetaKeyDefault = 'default'; MetaKeyExternalStored = 'externalstored'; *************** *** 4429,4434 **** --- 4432,4450 ---- class function TInstantCodeMetadataInfo.InternalAtInstance( Reader: TInstantCodeReader; out Name: string): Boolean; + var + SavePos: TInstantCodePos; begin Result := Reader.NextChar = '{'; + if not Result then + begin + SavePos := Reader.Position; + try + Reader.IgnoreComments := False; + result := Reader.ReadMatching('{' + MetadataInfoID + ' '); + finally + Reader.IgnoreComments := True; + Reader.Position := SavePos; + end; + end; end; *************** *** 4442,4445 **** --- 4458,4465 ---- if not Reader.EnterComment then Reader.ErrorExpected('{'); + + if SameText(Reader.NextToken, MetadataInfoID) then + Reader.ReadToken; + Persistence := peEmbedded; SaveErrorSeverity := Reader.ErrorSeverity; *************** *** 4483,4487 **** Start, I: Integer; begin ! Writer.Write('{ '); try S := ClassStatement; --- 4503,4507 ---- Start, I: Integer; begin ! Writer.Write('{' + MetadataInfoID + ' '); try S := ClassStatement; |
From: Carlo B. <car...@us...> - 2004-11-17 20:59:58
|
Update of /cvsroot/instantobjects/Source/Design/D7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22650/Source/Design/D7 Modified Files: DclIOCore.dof DclIOCore.res Log Message: VERSION 1.6.7 - Info into Readme.txt Index: DclIOCore.res =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/D7/DclIOCore.res,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsOAcz8P and /tmp/cvswCkcgl differ Index: DclIOCore.dof =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/D7/DclIOCore.dof,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DclIOCore.dof 29 Jul 2004 20:43:15 -0000 1.2 --- DclIOCore.dof 17 Nov 2004 20:59:48 -0000 1.3 *************** *** 115,119 **** MajorVer=1 MinorVer=6 ! Release=6 Build=0 Debug=0 --- 115,119 ---- MajorVer=1 MinorVer=6 ! Release=7 Build=0 Debug=0 *************** *** 127,131 **** CompanyName=InstantObjects.org FileDescription=InstantObjects Design-Time Package (Delphi 7) ! FileVersion=1.6.6.0 InternalName= LegalCopyright= --- 127,131 ---- CompanyName=InstantObjects.org FileDescription=InstantObjects Design-Time Package (Delphi 7) ! FileVersion=1.6.7.0 InternalName= LegalCopyright= *************** *** 133,136 **** OriginalFilename= ProductName=InstantObjects ! ProductVersion=1.6.6 Comments= --- 133,136 ---- OriginalFilename= ProductName=InstantObjects ! ProductVersion=1.6.7 Comments= |
Update of /cvsroot/instantobjects/Source/Brokers/NexusDbSQL In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9673/Source/Brokers/NexusDbSQL Added Files: InstantNexusDbSQL.dcr InstantNexusDbSQL.pas InstantNexusDbSQLConnectionDefEdit.dfm InstantNexusDbSQLConnectionDefEdit.pas InstantNexusDbSQLReg.pas Log Message: Added Steve Mitchell changes for MM compatibility --- NEW FILE: InstantNexusDbSQL.pas --- (* * InstantObjects(tm) NexusDb SQL Broker Support - Broker * NexusDbSQL Support * * Copyright (c) Seleqt * Copyright (c) Carlo Wolter - cw...@te... * Copyright (c) Steven Mitchell - sr...@tp... * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is a combination of InstantObject NexusDb Broker and Seleqt InstantObjects InterBase Express Broker. Portions created by Steven Mitchell are Copyright (C) Steven Mitchell. Portions created by Carlo Wolter are Copyright (C) Carlo Wolter. Portions created by Seleqt are Copyright (C) Seleqt. All Rights Reserved. * Contributor(s): * Carlo Barazzetta and Nando Dessena ===================================================================== Limited warranty and disclaimer of warranty ===================================================================== This software and accompanying written materials are provided "as is" without warranty of any kind. Further, the author does not warrant, guarantee, or take any representations regarding the use, or the results of use, of the software or written materials in terms of correctness, accuracy, reliability, currentness or otherwise. The entire risk as to the results and performance of the software is assumed by you. Neither the author nor anyone else who has been involved in the creation, production or delivery of this product shall be liable for any direct, indirect, consequential or incidental damages (including damages for loss of business profits, business interruption, loss of business information and the like) arising out of the use or inability to use the product even if the author has been advised of the possibility of such damages. By using the InstantObject NexusDb SQL Broker component you acknowledge that you have read this limited warranty, understand it, and agree to be bound by its' terms and conditions. ===================================================================== *) unit InstantNexusDbSQL; {$I ..\..\Core\InstantDefines.inc} {$IFDEF D7+} {$WARN UNSAFE_TYPE OFF} {$WARN UNSAFE_CAST OFF} {$WARN UNSAFE_CODE OFF} {$ENDIF} interface uses Classes, Db, SysUtils, InstantPersistence, InstantClasses, InstantCommand, nxdb, nxsdServerEngine, nxreRemoteServerEngine, nxllComponent, nxllTransport, nxptBasePooledTransport, nxtwWinsockTransport, nxsdDataDictionary //, CSIntf ; type TNexusDbTable = class(TnxTable) end; TNexusDbQuery = class(TnxQuery) protected procedure SetRecNo(Value: Integer); override; end; TInstantNexusDbSQLConnectionDef = class(TInstantRelationalConnectionDef) private FAliasName: string; FAliasIsPath: boolean; FServerName: string; protected procedure InitConnector(Connector: TInstantConnector); override; public procedure LoadAliasList(FALiasList : TStrings); procedure LoadServerList(FServerList : TStrings); function Edit: Boolean; override; class function ConnectionTypeName: string; override; class function ConnectorClass: TInstantConnectorClass; override; published property AliasName: string read FAliasName write FAliasName; property AliasIsPath: boolean read FAliasIsPath write FAliasIsPath; property ServerName: string read FServerName write FServerName; end; TInstantNexusDbSQLConnector = class(TInstantRelationalConnector) private FDatabase: TnxDatabase; procedure DatabaseBuildFixup; procedure FillFieldMap(aTbl: TNexusDbTable; aList: TStrings); function CreateFixedPrimaryIndexDef(aTbl: TNexusDbTable; aDict: TnxDataDictionary; var aOldIdx: Integer): TnxIndexDescriptor; procedure DoTableFix(aTbl: TNexusDbTable); protected function CreateBroker: TInstantBroker; override; function GetConnected: Boolean; override; function GetDatabaseName: string; override; function GetDBMSName: string; override; procedure InternalBuildDatabase(Scheme: TInstantScheme); override; procedure InternalCommitTransaction; override; procedure InternalConnect; override; procedure InternalDisconnect; override; procedure InternalRollbackTransaction; override; procedure InternalStartTransaction; override; public class function ConnectionDefClass: TInstantConnectionDefClass; override; published property Database: TnxDatabase read FDatabase write FDatabase; end; TInstantNexusDbSQLBroker= class(TInstantSQLBroker) private function GetConnector: TInstantNexusDbSQLConnector; protected function CreateResolver(Map: TInstantAttributeMap): TInstantSQLResolver; override; function GetDBMSName: string; override; function GetSQLQuote: Char; override; function InternalCreateQuery: TInstantQuery; override; procedure PrepareQuery(DataSet : TDataSet); override; procedure UnprepareQuery(DataSet : TDataSet); override; function ExecuteQuery(DataSet : TDataSet) : integer; override; procedure AssignDataSetParams(DataSet : TDataSet; AParams: TParams); override; public function CreateDataSet(const AStatement: string; AParams: TParams = nil): TDataSet; override; function DataTypeToColumnType(DataType: TInstantDataType; Size: Integer): string; override; function Execute(const AStatement: string; AParams: TParams = nil): Integer; override; property Connector: TInstantNexusDbSQLConnector read GetConnector; end; TInstantNexusDbSQLResolver = class(TInstantSQLResolver); TInstantNexusDbSQLTranslator = class(TInstantRelationalTranslator); TInstantNexusDbSQLQuery = class(TInstantSQLQuery) protected class function TranslatorClass: TInstantRelationalTranslatorClass; override; end; implementation uses Controls, InstantConsts, InstantNexusDbSQLConnectionDefEdit, InstantUtils, nxdbBase, nxsdTypes; procedure TInstantNexusDbSQLConnectionDef.LoadAliasList(FALiasList : TStrings); var Transport: TnxWinsockTransport; Engine: TnxRemoteServerEngine; Session: TnxSession; begin if ServerName = '' then ServerName := 'NexusDb@localhost'; Session := nil; Engine := nil; Transport := nil; try Transport := TnxWinsockTransport.Create(nil); // Setup transport Transport.ServerNameRuntime := ServerName; FAliasList.Clear; try Transport.Active := True; Engine := TnxRemoteServerEngine.Create(nil); // Setup engine Engine.Transport := Transport; Engine.Active := True; Session := TnxSession.Create(nil); // Setup session Session.ServerEngine := Engine; Session.Active := True; Session.GetAliasNames(FAliasList); /// CodeSite.SendStringList('Alias list',AliasList); except //ignore connections problems on EnxTransportException do ; end; finally Session.Free; Engine.Free; Transport.Free; end; end; procedure TInstantNexusDbSQLConnectionDef.LoadServerList(FServerList : TStrings); var Transport: TnxWinsockTransport; begin Transport := nil; try Transport := TnxWinsockTransport.Create(nil); // Setup transport Transport.GetServerNames(FServerList, 5000); finally Transport.Free; end; end; class function TInstantNexusDbSQLConnectionDef.ConnectionTypeName: string; begin Result := 'NexusDbSQL'; end; class function TInstantNexusDbSQLConnectionDef.ConnectorClass: TInstantConnectorClass; begin Result := TInstantNexusDbSQLConnector; end; function TInstantNexusDbSQLConnectionDef.Edit: Boolean; begin with TInstantNexusDbSQLConnectionDefEditForm.Create(nil) do begin try LoadData(Self); Result := ShowModal = mrOk; if Result then begin SaveData(Self); end; finally Free; end; end; end; procedure TInstantNexusDbSQLConnectionDef.InitConnector(Connector: TInstantConnector); { TODO: Create and return connection instance } var Transport: TnxWinsockTransport; Engine: TnxRemoteServerEngine; Session: TnxSession; Database: TnxDatabase; begin //CodeSite.EnterMethod('TInstantNexusDbSQLConnectionDef.InitConnector'); inherited; Transport := TnxWinsockTransport.Create(Connector); // Setup transport Transport.ServerName := ServerName; Transport.Active := True; Engine := TnxRemoteServerEngine.Create(Connector); // Setup engine Engine.Transport := Transport; Engine.Active := True; Session := TnxSession.Create(Connector); // Setup session. Session.DisplayName := 'nxInitSession'; Session.ServerEngine := Engine; Session.Active := True; Database := TnxDatabase.Create(Connector); // Setup database Database.DisplayName := 'nxInitDatabase'; Database.Session := Session; try Database.Timeout := -1; Database.Active := False; if AliasIsPath then begin Database.AliasName := ''; Database.AliasPath := AliasName; // Path end else begin Database.AliasName := AliasName; // Alias Database.AliasPath := ''; end; Database.Active := True; (Connector as TInstantNexusDbSQLConnector).Database := Database; except Database.Free; raise; end; //CodeSite.ExitMethod('TInstantNexusDbSQLConnectionDef.InitConnector'); end; { TInstantNexusDbSQLConnector } class function TInstantNexusDbSQLConnector.ConnectionDefClass: TInstantConnectionDefClass; begin Result := TInstantNexusDbSQLConnectionDef; end; function TInstantNexusDbSQLConnector.CreateBroker: TInstantBroker; begin Result := TInstantNexusDbSQLBroker.Create(Self); end; function TInstantNexusDbSQLConnector.GetConnected: Boolean; begin Result := Assigned(Database) and Database.Connected; end; function TInstantNexusDbSQLConnector.GetDatabaseName: string; begin Result := Database.AliasName; end; function TInstantNexusDbSQLConnector.GetDBMSName: string; begin Result := 'NexusDb'; end; procedure TInstantNexusDbSQLConnector.FillFieldMap(aTbl: TNexusDbTable; aList: TStrings); var j: Integer; begin aList.Clear; for j := 0 to aTbl.FieldDefs.Count - 1 do begin aList.Add(aTbl.FieldDefs[j].Name); end; { for } end; { The CreateFixedPrimaryIndexDef function finds the primary index created in SQL and returns its index number in the aOldIdx param. The function returns a suitably named TnxIndexDescriptor that is used to replace the SQL generated primary index. } function TInstantNexusDbSQLConnector.CreateFixedPrimaryIndexDef( aTbl: TNexusDbTable; aDict: TnxDataDictionary; var aOldIdx: Integer): TnxIndexDescriptor; var k: Integer; j: Integer; lKeyFieldDef: TnxCompKeyDescriptor; begin result := nil; aOldIdx := 0; try for j := 0 to aDict.IndexCount - 1 do begin //CodeSite.SendFmtMsg('aDict.IndexDescriptor[%d].Name: %s', // [j, aTbl.IndexDefs[j].Name]); if aDict.IndexDescriptor[j].Name = 'key0' then begin result := TnxIndexDescriptor.CreateStandAlone(0, aTbl.TableName + '_ID', 0, TnxCompKeyDescriptor); lKeyFieldDef := aDict.IndexDescriptor[j].KeyDescriptor as TnxCompKeyDescriptor; for k := 0 to lKeyFieldDef.KeyFieldCount - 1 do begin TnxCompKeyDescriptor(result.KeyDescriptor).Add( lKeyFieldDef.KeyFields[k].FieldNumber); end; { for } aOldIdx := j; Break; end; { if } end; { for } except result := nil; end; { try/except } end; procedure TInstantNexusDbSQLConnector.DoTableFix(aTbl: TNexusDbTable); var lOldIdx: Integer; lFieldMap: TStrings; lCompleted: boolean; lStatus: TnxTaskStatus; lDict: TnxDataDictionary; lTaskInfo: TnxAbstractTaskInfo; lIdxDef: TnxIndexDescriptor; begin lDict := nil; lFieldMap := TStringList.Create; try FillFieldMap(aTbl, lFieldMap); aTbl.UpdateIndexDefs; if aTbl.IndexDefs.Count = 0 then Exit; aTbl.dsUpdateDataDictionary; lDict := TnxDataDictionary.Create; lDict.Assign(aTbl.Dictionary); lIdxDef := CreateFixedPrimaryIndexDef(aTbl, lDict, lOldIdx); if Assigned(lIdxDef) then begin lDict.RemoveIndex(lOldIdx); lIdxDef := lDict.AddIndex(lIdxDef); lDict.DefaultIndex := lIdxDef.Number; Check(Database.RestructureTable(aTbl.TableName, lDict, lFieldMap, lTaskInfo)); if Assigned(lTaskInfo) then begin repeat Sleep(250); lTaskInfo.GetStatus(lCompleted, lStatus); until lCompleted; end; { if } aTbl.FieldDefs.Clear; aTbl.IndexDefs.Clear; end; { if } finally lDict.Free; lFieldMap.Free; end; { try/finally } end; procedure TInstantNexusDbSQLConnector.DatabaseBuildFixup; var I: Integer; lTblList: TStrings; lTbl: TNexusDbTable; begin //CodeSite.EnterMethod('TInstantNexusDbSQLConnector.DatabaseBuildFixup'); lTblList := nil; lTbl := nil; try lTblList := TStringList.Create; Database.Session.CloseInactiveTables; Database.GetTableNames(lTblList); lTbl := TNexusDbTable.Create(nil); lTbl.Database := Database; for I := 0 to lTblList.Count - 1 do begin //CodeSite.SendFmtMsg('lTbl[%d].TableName: %s', [I, lTbl.TableName]); lTbl.TableName := lTblList[I]; DoTableFix(lTbl); end; { for } finally lTbl.Free; lTblList.Free; end; { try/finally } //CodeSite.ExitMethod('TInstantNexusDbSQLConnector.DatabaseBuildFixup'); end; procedure TInstantNexusDbSQLConnector.InternalBuildDatabase(Scheme: TInstantScheme); begin StartTransaction; try inherited; CommitTransaction; DatabaseBuildFixup; // Hopefully NexusDb V2 will not need this! except RollbackTransaction; raise; end; end; procedure TInstantNexusDbSQLConnector.InternalCommitTransaction; begin Database.Commit; end; procedure TInstantNexusDbSQLConnector.InternalConnect; begin //CodeSite.EnterMethod('TInstantNexusDbSQLConnector.InternalConnect'); //CodeSite.SendFmtMsg('Database.DisplayName: %s', [Database.DisplayName]); Database.Open; //CodeSite.ExitMethod('TInstantNexusDbSQLConnector.InternalConnect'); end; procedure TInstantNexusDbSQLConnector.InternalDisconnect; begin //CodeSite.EnterMethod('TInstantNexusDbSQLConnector.InternalDisconnect'); //CodeSite.SendFmtMsg('Database.DisplayName: %s', [Database.DisplayName]); Database.Close; //CodeSite.ExitMethod('TInstantNexusDbSQLConnector.InternalDisconnect'); end; procedure TInstantNexusDbSQLConnector.InternalRollbackTransaction; begin Database.Rollback; end; procedure TInstantNexusDbSQLConnector.InternalStartTransaction; begin Database.StartTransaction; end; { TInstantNexusDbSQLBroker} procedure TInstantNexusDbSQLBroker.AssignDataSetParams(DataSet : TDataSet; AParams: TParams); var I: Integer; TargetParams : TParams; SourceParam, TargetParam: TParam; begin //don't call inherited! TargetParams := TNexusDbQuery(DataSet).Params; for I := 0 to Pred(AParams.Count) do begin SourceParam := AParams[I]; TargetParam := TargetParams.FindParam(SourceParam.Name); if Assigned(TargetParam) then TargetParam.Assign(SourceParam); end; end; function TInstantNexusDbSQLBroker.CreateDataSet(const AStatement: string; AParams: TParams): TDataSet; var Query: TNexusDbQuery; begin Query := TNexusDbQuery.Create(nil); with Query do begin Database := Connector.Database; SQL.Text := AStatement; if Assigned(AParams) then AssignDataSetParams(Query, AParams); end; Result := Query; end; function TInstantNexusDbSQLBroker.CreateResolver( Map: TInstantAttributeMap): TInstantSQLResolver; begin Result := TInstantNexusDbSQLResolver.Create(Self, Map); end; function TInstantNexusDbSQLBroker.DataTypeToColumnType( DataType: TInstantDataType; Size: Integer): string; const Types: array[TInstantDataType] of string = ( 'INTEGER', 'REAL', 'MONEY', 'BOOLEAN', 'VARCHAR', 'TEXT', 'DATETIME', 'BLOB'); begin Result := Types[DataType]; if (DataType = dtString) and (Size > 0) then Result := Result + InstantEmbrace(IntToStr(Size), '()'); end; function TInstantNexusDbSQLBroker.Execute(const AStatement: string; AParams: TParams): Integer; begin with CreateDataSet(AStatement, AParams) as TNexusDbQuery do try ExecSQL; Result := RowsAffected; finally Free; end; end; function TInstantNexusDbSQLBroker.ExecuteQuery(DataSet: TDataSet) : integer; begin //don't call inherited! with TNexusDbQuery(DataSet) do begin ExecSQL; Result := RowsAffected; end; end; function TInstantNexusDbSQLBroker.GetConnector: TInstantNexusDbSQLConnector; begin Result := inherited Connector as TInstantNexusDbSQLConnector; end; function TInstantNexusDbSQLBroker.GetDBMSName: string; begin Result := 'NexusDbSQL'; end; function TInstantNexusDbSQLBroker.GetSQLQuote: Char; begin Result := ''''; end; function TInstantNexusDbSQLBroker.InternalCreateQuery: TInstantQuery; begin Result := TInstantNexusDbSQLQuery.Create(Connector); end; procedure TInstantNexusDbSQLBroker.PrepareQuery(DataSet: TDataSet); begin inherited; TNexusDbQuery(DataSet).Prepare; end; procedure TInstantNexusDbSQLBroker.UnprepareQuery(DataSet: TDataSet); begin inherited; TNexusDbQuery(DataSet).Unprepare; end; { TInstantNexusDbSQLQuery } class function TInstantNexusDbSQLQuery.TranslatorClass: TInstantRelationalTranslatorClass; begin Result := TInstantNexusDbSQLTranslator; end; { TNexusDbQuery } procedure TNexusDbQuery.SetRecNo(Value: Integer); begin inherited; if Value = Succ(RecNo) then Next else if Value = Pred(RecNo) then Prior; end; initialization RegisterClass(TInstantNexusDbSQLConnectionDef); TInstantNexusDbSQLConnector.RegisterClass; finalization TInstantNexusDbSQLConnector.UnregisterClass; end. --- NEW FILE: InstantNexusDbSQLConnectionDefEdit.dfm --- object InstantNexusDbSQLConnectionDefEditForm: TInstantNexusDbSQLConnectionDefEditForm Left = 299 Top = 202 BorderStyle = bsDialog Caption = ' NexusDbSQL Connection' ClientHeight = 309 ClientWidth = 393 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] Icon.Data = { 0000010001002020100000000000E80200001600000028000000200000004000 0000010004000000000080020000000000000000000000000000000000000000 000000008000008000000080800080000000800080008080000080808000C0C0 C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 3333333000333333333333330000000030000000700000000000000300000000 3333333000333333333333330000000033333333033333333333333300000000 3333333303333333333333330000000033333300007744473333333300000000 33330088FF8444447333333300000000333077888F4444444333333300000000 33307888FF4444444333333300000000333077888F44F4444333333300000000 33307888FF8444447333333300000000333077888F8844473333333300000000 33307888FFF887333333333300000000333077888F8870333333333300000000 33307800000870333333333300000000333000FFF77777777777777700000000 3330FFFFF7FFFFFFFFFFFFF700000000333300FFF7FF0FF0F0FF0FF700000000 3333330007FF0F00F0FF0FF7000000003333333337FF0870FF00FFF700000000 3333333337FF00F0F0FF0FF7000000003333333337FF0FF0F0FF0FF700000000 3333333337FFFFFFFFFFFFF70000000033333333377777777777777700000000 0000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000FFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000FF000000FF000000FF000000FF000 000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000 000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000 000FF000000FF000000FF000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF} OldCreateOrder = True Position = poScreenCenter OnCreate = FormCreate OnShow = FormShow PixelsPerInch = 96 TextHeight = 13 object BottomBevel: TBevel Left = 0 Top = 272 Width = 393 Height = 2 Align = alBottom Shape = bsBottomLine end object ClientPanel: TPanel Left = 0 Top = 0 Width = 393 Height = 272 Align = alClient BevelOuter = bvNone TabOrder = 0 object PathLabel: TLabel Left = 16 Top = 184 Width = 22 Height = 13 Caption = '&Path' end object AliasLabel: TLabel Left = 180 Top = 4 Width = 22 Height = 13 Caption = '&Alias' FocusControl = lbAlias end object ServerLabel: TLabel Left = 12 Top = 100 Width = 60 Height = 13 Caption = '&Server name' FocusControl = ServerComboBox end object StreamFormatLabel: TLabel Left = 16 Top = 233 Width = 53 Height = 13 Caption = 'Blob &format' FocusControl = StreamFormatComboBox end object lblIdDataType: TLabel Left = 168 Top = 233 Width = 62 Height = 13 Caption = 'Id Data Type' FocusControl = IdDataTypeComboBox end object lblIdSize: TLabel Left = 288 Top = 233 Width = 32 Height = 13 Caption = 'Id Size' FocusControl = IdDataTypeComboBox end object BrowseButton: TButton Left = 356 Top = 204 Width = 21 Height = 21 Caption = '...' TabOrder = 4 OnClick = BrowseButtonClick end object lbAlias: TListBox Left = 180 Top = 20 Width = 197 Height = 161 ItemHeight = 13 TabOrder = 2 end object rgSelDb: TRadioGroup Left = 12 Top = 16 Width = 157 Height = 73 Caption = '&Database Selection ' ItemIndex = 0 Items.Strings = ( 'Alias' 'Path') TabOrder = 0 OnClick = rgSelDbClick end object ePath: TEdit Left = 16 Top = 204 Width = 333 Height = 21 TabOrder = 3 end object ServerComboBox: TComboBox Left = 12 Top = 116 Width = 157 Height = 21 ItemHeight = 13 TabOrder = 1 OnCloseUp = ServerComboBoxLoadAlias OnDropDown = ServerComboBoxDropDown OnExit = ServerComboBoxLoadAlias OnSelect = ServerComboBoxSelect end object StreamFormatComboBox: TComboBox Left = 16 Top = 249 Width = 145 Height = 21 Style = csDropDownList ItemHeight = 13 Sorted = True TabOrder = 5 end object IdDataTypeComboBox: TComboBox Left = 168 Top = 249 Width = 113 Height = 21 Style = csDropDownList ItemHeight = 13 TabOrder = 6 end object IdSizeEdit: TEdit Left = 288 Top = 249 Width = 89 Height = 21 TabOrder = 7 end end object BottomPanel: TPanel Left = 0 Top = 274 Width = 393 Height = 35 Align = alBottom BevelOuter = bvNone TabOrder = 1 DesignSize = ( 393 35) object OkButton: TButton Left = 223 Top = 6 Width = 75 Height = 25 Anchors = [akTop, akRight] Caption = 'OK' Default = True ModalResult = 1 TabOrder = 0 end object CancelButton: TButton Left = 303 Top = 6 Width = 75 Height = 25 Anchors = [akTop, akRight] Cancel = True Caption = 'Cancel' ModalResult = 2 TabOrder = 1 end end end --- NEW FILE: InstantNexusDbSQL.dcr --- (This appears to be a binary file; contents omitted.) --- NEW FILE: InstantNexusDbSQLReg.pas --- (* * InstantObjects * NexusDbSQL Support *) (* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is: Seleqt InstantObjects * * The Initial Developer of the Original Code is: Seleqt * * Portions created by the Initial Developer are Copyright (C) 2001-2003 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * ***** END LICENSE BLOCK ***** *) unit InstantNexusDbSQLReg; interface procedure Register; implementation uses Classes, InstantNexusDbSQL; procedure Register; begin RegisterComponents('InstantObjects', [TInstantNexusDbSQLConnector]); end; end. --- NEW FILE: InstantNexusDbSQLConnectionDefEdit.pas --- (* * InstantObjects(tm) NexusDbSQL Broker Support - ConnectionDefEdit * * Copyright (c) Seleqt * Copyright (c) Carlo Wolter - cw...@te... * The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is InstantObject NexusDb Broker. The Initial Developer of the Original Code is Carlo Wolter. Portions created by Seleqt are Copyright (C) Seleqt. All Rights Reserved. ===================================================================== Limited warranty and disclaimer of warranty ===================================================================== This software and accompanying written materials are provided "as is" without warranty of any kind. Further, the author does not warrant, guarantee, or take any representations regarding the use, or the results of use, of the software or written materials in terms of correctness, accuracy, reliability, currentness or otherwise. The entire risk as to the results and performance of the software is assumed by you. Neither the author nor anyone else who has been involved in the creation, production or delivery of this product shall be liable for any direct, indirect, consequential or incidental damages (including damages for loss of business profits, business interruption, loss of business information and the like) arising out of the use or inability to use the product even if the author has been advised of the possibility of such damages. By using the InstantObject NexusDb Broker component you acknowledge that you have read this limited warranty, understand it, and agree to be bound by its' terms and conditions. ===================================================================== * Contributor(s): * Carlo Barazzetta: blob streaming in XML format (Part, Parts, References) * *) unit InstantNexusDbSQLConnectionDefEdit; interface {$IFNDEF VER130} {$WARN UNIT_PLATFORM OFF} {$ENDIF} uses Windows, Forms, StdCtrls, Controls, ExtCtrls, Classes ,InstantNexusDbSQL, nxllComponent, nxdb /// , CSIntf ; type TInstantNexusDbSQLConnectionDefEditForm = class(TForm) BottomBevel: TBevel; BottomPanel: TPanel; CancelButton: TButton; ClientPanel: TPanel; OkButton: TButton; PathLabel: TLabel; BrowseButton: TButton; AliasLabel: TLabel; lbAlias: TListBox; rgSelDb: TRadioGroup; ePath: TEdit; ServerComboBox: TComboBox; ServerLabel: TLabel; StreamFormatLabel: TLabel; StreamFormatComboBox: TComboBox; IdDataTypeComboBox: TComboBox; IdSizeEdit: TEdit; lblIdDataType: TLabel; lblIdSize: TLabel; procedure BrowseButtonClick(Sender: TObject); procedure ServerComboBoxSelect(Sender: TObject); procedure rgSelDbClick(Sender: TObject); procedure ServerComboBoxLoadAlias(Sender: TObject); procedure FormShow(Sender: TObject); procedure ServerComboBoxDropDown(Sender: TObject); procedure FormCreate(Sender: TObject); private FConnectionDef : TInstantNexusDbSQLConnectionDef; procedure UpdateControls; protected procedure LoadAliasNames; public procedure LoadData(ConnectionDef: TInstantNexusDbSQLConnectionDef); procedure SaveData(ConnectionDef: TInstantNexusDbSQLConnectionDef); end; implementation uses SysUtils, FileCtrl, InstantClasses, InstantPersistence, InstantConsts; {$R *.DFM} { TInstantNexusDbSQLConnectionDefEditForm } procedure TInstantNexusDbSQLConnectionDefEditForm.BrowseButtonClick(Sender: TObject); var Dir: string; begin if SelectDirectory('Database Directory', '', Dir) then ePath.Text := Dir; end; procedure TInstantNexusDbSQLConnectionDefEditForm.LoadAliasNames; var OldAliasName : string; begin Screen.Cursor := crHourGlass; if lbAlias.ItemIndex >= 0 then OldAliasName := lbAlias.Items.Strings[lbAlias.ItemIndex]; Try FConnectionDef.ServerName := ServerComboBox.Text; FConnectionDef.LoadAliasList(lbAlias.Items); Finally if OldAliasName <> '' then lbAlias.ItemIndex := lbAlias.Items.IndexOf(OldAliasName); Screen.Cursor := crDefault; End; end; procedure TInstantNexusDbSQLConnectionDefEditForm.LoadData( ConnectionDef: TInstantNexusDbSQLConnectionDef); begin /// CodeSite.SendMsg('FORM load data'); FConnectionDef := ConnectionDef; if ConnectionDef.AliasIsPath then begin rgSelDb.ItemIndex := 1; ePath.Text := ConnectionDef.AliasName; end else begin rgSelDb.ItemIndex := 0; ServerComboBox.Text := ConnectionDef.ServerName; LoadAliasNames; lbAlias.ItemIndex := lbAlias.Items.IndexOf(ConnectionDef.AliasName); end; StreamFormatComboBox.ItemIndex := Ord(ConnectionDef.BlobStreamFormat); //CB // Begin SRM - 02 Oct 2004 IdDataTypeComboBox.ItemIndex := Ord(ConnectionDef.IdDataType); IdSizeEdit.Text := IntToStr(ConnectionDef.IdSize); // End SRM - 02 Oct 2004 UpdateControls; end; procedure TInstantNexusDbSQLConnectionDefEditForm.SaveData( ConnectionDef: TInstantNexusDbSQLConnectionDef); begin /// CodeSite.SendMsg('FORM save data'); case rgSelDb.ItemIndex of 0: begin ConnectionDef.ServerName := ServerComboBox.Text; if lbAlias.ItemIndex >= 0 then ConnectionDef.AliasName := lbAlias.Items.Strings[lbAlias.ItemIndex] else ConnectionDef.AliasName := ''; ConnectionDef.AliasIsPath := False; // True Alias end; 1: begin ConnectionDef.AliasName := ePath.Text; ConnectionDef.AliasIsPath := True; // Path end; end; ConnectionDef.BlobStreamFormat := TInstantStreamFormat(StreamFormatComboBox.ItemIndex); //CB // Begin SRM - 02 Oct 2004 ConnectionDef.IdDataType := TInstantDataType(IdDataTypeComboBox.ItemIndex); ConnectionDef.IdSize := StrToInt(IdSizeEdit.Text); // End SRM - 02 Oct 2004 /// CodeSite.SendBoolean('Alias '+ConnectionDef.AliasName,ConnectionDef.AliasIsPath); end; procedure TInstantNexusDbSQLConnectionDefEditForm.ServerComboBoxSelect( Sender: TObject); begin LoadAliasNames; end; procedure TInstantNexusDbSQLConnectionDefEditForm.rgSelDbClick( Sender: TObject); begin UpdateControls; end; procedure TInstantNexusDbSQLConnectionDefEditForm.UpdateControls; begin PathLabel.Visible := rgSelDb.ItemIndex = 1; ePath.Visible := rgSelDb.ItemIndex = 1; BrowseButton.Visible := rgSelDb.ItemIndex = 1; AliasLabel.Visible := rgSelDb.ItemIndex = 0; lbAlias.Visible := rgSelDb.ItemIndex = 0; ServerComboBox.Visible := rgSelDb.ItemIndex = 0; ServerLabel.Visible := rgSelDb.ItemIndex = 0; end; procedure TInstantNexusDbSQLConnectionDefEditForm.ServerComboBoxLoadAlias( Sender: TObject); begin LoadAliasNames; end; procedure TInstantNexusDbSQLConnectionDefEditForm.FormShow(Sender: TObject); begin rgSelDb.SetFocus; end; procedure TInstantNexusDbSQLConnectionDefEditForm.ServerComboBoxDropDown( Sender: TObject); begin Screen.Cursor := crHourGlass; Try FConnectionDef.LoadServerList(ServerComboBox.Items); Finally Screen.Cursor := crDefault; End; end; procedure TInstantNexusDbSQLConnectionDefEditForm.FormCreate(Sender: TObject); begin AssignInstantStreamFormat(StreamFormatComboBox.Items); //CB AssignInstantDataTypeStrings(IdDataTypeComboBox.Items); // SRM - 02 Oct 2004 IdDataTypeComboBox.ItemIndex := Ord(dtString); // SRM - 02 Oct 2004 IdSizeEdit.Text := IntToStr(InstantDefaultFieldSize); // SRM - 02 Oct 2004 UpdateControls; // SRM - 02 Oct 2004 end; end. |
From: Carlo B. <car...@us...> - 2004-11-17 14:28:37
|
Update of /cvsroot/instantobjects/Source/Brokers/NexusDbSQL/D7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25943/D7 Log Message: Directory /cvsroot/instantobjects/Source/Brokers/NexusDbSQL/D7 added to the repository |
From: Carlo B. <car...@us...> - 2004-11-01 08:29:50
|
Update of /cvsroot/instantobjects/Source/Core/K3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32134/K3 Log Message: Directory /cvsroot/instantobjects/Source/Core/K3 added to the repository |
From: Carlo B. <car...@us...> - 2004-11-01 08:25:54
|
Update of /cvsroot/instantobjects/Source/Design In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31524/Source/Design Modified Files: InstantAttributeEditor.dfm InstantAttributeEditor.pas Log Message: Added Steve Mitchell changes for MM compatibility Index: InstantAttributeEditor.dfm =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/InstantAttributeEditor.dfm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** InstantAttributeEditor.dfm 10 Sep 2004 10:27:39 -0000 1.3 --- InstantAttributeEditor.dfm 1 Nov 2004 08:25:44 -0000 1.4 *************** *** 1,5 **** inherited InstantAttributeEditorForm: TInstantAttributeEditorForm ! Left = 795 ! Top = 191 Width = 249 Height = 386 --- 1,5 ---- inherited InstantAttributeEditorForm: TInstantAttributeEditorForm ! Left = 229 ! Top = 215 Width = 249 Height = 386 *************** *** 12,21 **** inherited EditPanel: TPanel Width = 241 ! Height = 328 object PageControl: TPageControl Left = 4 Top = 4 Width = 233 ! Height = 320 ActivePage = DefinitionSheet Align = alClient --- 12,21 ---- inherited EditPanel: TPanel Width = 241 ! Height = 321 object PageControl: TPageControl Left = 4 Top = 4 Width = 233 ! Height = 313 ActivePage = DefinitionSheet Align = alClient *************** *** 389,393 **** end inherited BottomPanel: TPanel ! Top = 328 Width = 241 inherited ButtonPanel: TPanel --- 389,393 ---- end inherited BottomPanel: TPanel ! Top = 321 Width = 241 inherited ButtonPanel: TPanel Index: InstantAttributeEditor.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Design/InstantAttributeEditor.pas,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** InstantAttributeEditor.pas 30 Sep 2004 14:45:09 -0000 1.6 --- InstantAttributeEditor.pas 1 Nov 2004 08:25:44 -0000 1.7 *************** *** 460,472 **** var HasName, HasClass, HasExternalStoredName, HasExternalLinkedName: Boolean; ! IsComplex, IsContainer, CanBeExternal, IsExternal, IsMaskable, IsString, IsValid: Boolean; begin ! CanBeExternal := Subject.AttributeType in [atPart, atParts, atReferences]; ! if not CanBeExternal then Subject.IsExternal := ceNo; ! if Subject.IsExternal = ceLinked then ! Subject.ExternalStoredName := ''; ! if Subject.IsExternal = ceStored then ! Subject.ExternalLinkedName := ''; HasName := NameEdit.Text <> ''; --- 460,469 ---- var HasName, HasClass, HasExternalStoredName, HasExternalLinkedName: Boolean; ! IsComplex, IsContainer, IsExternal, IsMaskable, IsString, IsValid: Boolean; begin ! if (Subject.AttributeType<>atParts) and (Subject.AttributeType<>atReferences) then Subject.IsExternal := ceNo; ! if Subject.IsExternal = ceLinked then Subject.ExternalStoredName := ''; ! if Subject.IsExternal = ceStored then Subject.ExternalLinkedName := ''; HasName := NameEdit.Text <> ''; *************** *** 481,485 **** IsString := Subject.AttributeType in [atString, atMemo]; IsValid := HasName and (not IsComplex or HasClass) and ! (not IsExternal or (HasExternalStoredName or HasExternalLinkedName)); DisableSubControls(DefinitionSheet, Limited); --- 478,482 ---- IsString := Subject.AttributeType in [atString, atMemo]; IsValid := HasName and (not IsComplex or HasClass) and ! (not IsExternal or (HasExternalStoredName or HasExternalLinkedName) ); DisableSubControls(DefinitionSheet, Limited); *************** *** 499,512 **** EnableCtrl(MethodInsertCheckBox, IsContainer); EnableCtrl(MethodRemoveCheckBox, IsContainer); ! EnableCtrl(IsExternalEdit, CanBeExternal); ! EnableCtrl(IsExternalLabel, CanBeExternal); end; ! EnableCtrl(StorageNameLabel, not IsExternal); ! EnableCtrl(StorageNameEdit, not IsExternal); ! EnableCtrl(ExternalLinkedNameLabel, IsExternal and (Subject.IsExternal = ceLinked)); ! EnableCtrl(ExternalLinkedNameEdit, IsExternal and (Subject.IsExternal = ceLinked)); ! EnableCtrl(ExternalStoredNameLabel, IsExternal and (Subject.IsExternal = ceStored)); ! EnableCtrl(ExternalStoredNameEdit, IsExternal and (Subject.IsExternal = ceStored)); EnableCtrl(SizeLabel, IsString); --- 496,510 ---- EnableCtrl(MethodInsertCheckBox, IsContainer); EnableCtrl(MethodRemoveCheckBox, IsContainer); ! ! EnableCtrl(IsExternalEdit, IsContainer); ! EnableCtrl(IsExternalLabel, IsContainer); end; ! EnableCtrl(StorageNameLabel, not (IsContainer and IsExternal) ); ! EnableCtrl(StorageNameEdit, not (IsContainer and IsExternal) ); ! EnableCtrl(ExternalLinkedNameLabel, IsContainer and (Subject.IsExternal=ceLinked) ); ! EnableCtrl(ExternalLinkedNameEdit, IsContainer and (Subject.IsExternal=ceLinked) ); ! EnableCtrl(ExternalStoredNameLabel, IsContainer and (Subject.IsExternal=ceStored) ); ! EnableCtrl(ExternalStoredNameEdit, IsContainer and (Subject.IsExternal=ceStored) ); EnableCtrl(SizeLabel, IsString); |
From: Carlo B. <car...@us...> - 2004-11-01 08:25:54
|
Update of /cvsroot/instantobjects/Source/ObjectFoundry In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31524/Source/ObjectFoundry Modified Files: OFClasses.pas Log Message: Added Steve Mitchell changes for MM compatibility Index: OFClasses.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/ObjectFoundry/OFClasses.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** OFClasses.pas 2 Feb 2004 20:52:23 -0000 1.1 --- OFClasses.pas 1 Nov 2004 08:25:44 -0000 1.2 *************** *** 1,4 **** --- 1,12 ---- unit OFClasses; + { 18 Sep 2004 - Steven Mitchell + Modified for use in MM7.25 - + Use V9Visibility property inplace of Visibility + property in MMToolsAPI V10 IMMMember interface. + 30 Sep 2004 - Steven Mitchell + Added tags for part(s) external storage params + } + interface *************** *** 96,100 **** end; Result.Name := CountPropName; ! Result.Visibility := TVisibility(Visibility); Result.SetAccessSpec(rwMethod, rwNone); Getter := MemberAsMethod(Result.ReadMember); --- 104,108 ---- end; Result.Name := CountPropName; ! Result.V9Visibility := TV9Visibility(Visibility); // SRM - 18 Sep 2004 Result.SetAccessSpec(rwMethod, rwNone); Getter := MemberAsMethod(Result.ReadMember); *************** *** 203,207 **** Result.DataName := CodeMethod.Proc.ResultTypeName; end; ! Result.Visibility := TVisibility(Visibility); NewBody := CodeMethod.Proc.Body.AsString; if Result.SectionCount = 0 then --- 211,215 ---- Result.DataName := CodeMethod.Proc.ResultTypeName; end; ! Result.V9Visibility := TV9Visibility(Visibility); // SRM - 18 Sep 2004 NewBody := CodeMethod.Proc.Body.AsString; if Result.SectionCount = 0 then *************** *** 250,255 **** Prop.Name := Name; Prop.DataName := PropTypeName; ! Prop.Visibility := TVisibility(Visibility); TaggedStrings['StorageName'] := StorageName; TaggedIntegers['Size'] := Metadata.Size; TaggedBooleans['IsDefault'] := IsDefault; --- 258,269 ---- Prop.Name := Name; Prop.DataName := PropTypeName; ! Prop.V9Visibility := TV9Visibility(Visibility); // SRM - 18 Sep 2004 TaggedStrings['StorageName'] := StorageName; + // begin SRM 30 Sep 2004 + // External part(s) options + TaggedStrings['ExternalStoredName'] := ExternalStoredName; + TaggedStrings['ExternalLinkedName'] := ExternalLinkedName; + TaggedIntegers['IsExternal'] := Ord(IsExternal); + // end SRM 30 Sep 2004 TaggedIntegers['Size'] := Metadata.Size; TaggedBooleans['IsDefault'] := IsDefault; *************** *** 401,405 **** begin Name := Prop.Name; ! Visibility := TInstantCodeVisibility(Prop.Visibility); if Attribute.IsIOAttribute then begin --- 415,419 ---- begin Name := Prop.Name; ! Visibility := TInstantCodeVisibility(Prop.V9Visibility); // SRM - 18 Sep 2004 if Attribute.IsIOAttribute then begin *************** *** 429,432 **** --- 443,452 ---- ReadOnly := Prop.WriteAccess = rwNone; StorageName := TaggedStrings['StorageName']; + // begin SRM 30 Sep 2004 + // External part(s) options + ExternalStoredName := TaggedStrings['ExternalStoredName']; + ExternalLinkedName := TaggedStrings['ExternalLinkedName']; + IsExternal := TInstantContainerIsExternal(TaggedIntegers['IsExternal']); + // end SRM 30 Sep 2004 IsDefault := TaggedBooleans['IsDefault']; IsIndexed := TaggedBooleans['IsIndexed']; |
From: Carlo B. <car...@us...> - 2004-11-01 08:24:39
|
Update of /cvsroot/instantobjects/Source/Brokers/NexusDbSQL In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31351/NexusDbSQL Log Message: Directory /cvsroot/instantobjects/Source/Brokers/NexusDbSQL added to the repository |
From: Carlo B. <car...@us...> - 2004-10-19 07:46:47
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17664/Source/Core Modified Files: InstantPresentation.pas Log Message: Revert to Undo Buffer not accessible by Exposers descendants Index: InstantPresentation.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantPresentation.pas,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** InstantPresentation.pas 1 Oct 2004 16:09:13 -0000 1.7 --- InstantPresentation.pas 19 Oct 2004 07:46:38 -0000 1.8 *************** *** 27,31 **** * Carlo Barazzetta, Andrea Petrelli: porting Kylix * Carlo Barazzetta: ! * - Exposer Undo virtual and access to UndoBuffer * - Exposer OnAddClassFieldDef event * - Added Currency and Graphic support to exposer --- 27,31 ---- * Carlo Barazzetta, Andrea Petrelli: porting Kylix * Carlo Barazzetta: ! * - Exposer Undo virtual and access to UndoBuffer (Removed!) * - Exposer OnAddClassFieldDef event * - Added Currency and Graphic support to exposer *************** *** 273,277 **** procedure SetOnProgress(const Value: TInstantProgressEvent); procedure SetSorted(Value: Boolean); - function GetUndoBuffer: PChar; protected { IProviderSupport } --- 273,276 ---- *************** *** 426,430 **** property Objects[Index: Integer]: TObject read GetObjects; property TotalCount: Integer read GetTotalCount; - property UndoBuffer: PChar read GetUndoBuffer; published property FieldOptions: TInstantFieldOptions read FFieldOptions write SetFieldOptions default [foThorough]; --- 425,428 ---- *************** *** 640,644 **** procedure InstantRegisterAccessorClass(AClass: TInstantAccessorClass); procedure InstantUnregisterAccessorClass(AClass: TInstantAccessorClass); - function ExposerGetUndoBuffer(Exposer : TInstantCustomExposer) : PChar; implementation --- 638,641 ---- *************** *** 901,908 **** end; - function ExposerGetUndoBuffer(Exposer : TInstantCustomExposer) : PChar; - begin - Result := Exposer.FUndoBuffer; - end; { TInstantAccessor } --- 898,901 ---- *************** *** 2370,2377 **** end; - function TInstantCustomExposer.GetUndoBuffer: PChar; - begin - Result := FUndoBuffer; - end; procedure TInstantCustomExposer.GotoActiveRecord; --- 2363,2366 ---- |
Update of /cvsroot/instantobjects/Source/Brokers/UIB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17610/Brokers/UIB Added Files: InstantUIB.dcr InstantUIB.pas InstantUIBConnection.pas InstantUIBConnectionDefEdit.dfm InstantUIBConnectionDefEdit.pas InstantUIBReg.pas Log Message: UIB broker --- NEW FILE: InstantUIBConnectionDefEdit.pas --- (* * InstantObjects * UIB Support *) (* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is: Andrea Petrelli * * The Initial Developer of the Original Code is: Andrea Petrelli * * ***** END LICENSE BLOCK ***** *) unit InstantUIBConnectionDefEdit; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, InstantUIB; type TInstantUIBConnectionDefEditForm = class(TForm) ClientPanel: TPanel; ServerLabel: TLabel; ProtocolLabel: TLabel; DatabaseLabel: TLabel; LocalRadioButton: TRadioButton; RemoteRadioButton: TRadioButton; ServerEdit: TEdit; ProtocolEdit: TComboBox; DatabaseEdit: TEdit; DatabaseButton: TButton; BottomPanel: TPanel; OkButton: TButton; CancelButton: TButton; BottomBevel: TBevel; StreamFormatLabel: TLabel; StreamFormatComboBox: TComboBox; UseDelimitedIdentsCheckBox: TCheckBox; LoginPromptCheckBox: TCheckBox; ParamsLabel: TLabel; ParamsEditor: TMemo; IdDataTypeComboBox: TComboBox; Label1: TLabel; IdSizeEdit: TEdit; Label2: TLabel; procedure LocalRemoteChange(Sender: TObject); procedure DatabaseButtonClick(Sender: TObject); procedure FormCreate(Sender: TObject); private function GetIsValid: Boolean; procedure UpdateControls; public procedure LoadData(ConnectionDef: TInstantUIBConnectionDef); procedure SaveData(ConnectionDef: TInstantUIBConnectionDef); property IsValid: Boolean read GetIsValid; end; implementation {$R *.DFM} uses InstantPersistence, InstantClasses, InstantConsts; { TInstantUIBConnectionDefEditForm } procedure TInstantUIBConnectionDefEditForm.DatabaseButtonClick( Sender: TObject); begin with TOpenDialog.Create(nil) do try Filter := 'FireBird Database (*.fdb)|*.fdb|' + 'InterBase Database (*.gdb)|*.gdb|' + 'All Files (*.*)|*.*'; if Execute then DatabaseEdit.Text := FileName; finally Free; end; end; procedure TInstantUIBConnectionDefEditForm.FormCreate(Sender: TObject); begin AssignInstantStreamFormat(StreamFormatComboBox.Items); AssignInstantDataTypeStrings(IdDataTypeComboBox.Items); IdDataTypeComboBox.ItemIndex := Ord(dtString); IdSizeEdit.Text := IntToStr(InstantDefaultFieldSize); UpdateControls; end; function TInstantUIBConnectionDefEditForm.GetIsValid: Boolean; begin Result := (LocalRadioButton.Checked or (ServerEdit.Text <> '')) and (DatabaseEdit.Text <> ''); end; procedure TInstantUIBConnectionDefEditForm.LoadData( ConnectionDef: TInstantUIBConnectionDef); begin with ConnectionDef do begin ProtocolEdit.ItemIndex := Ord(NetType) - 1; ServerEdit.Text := ServerName; DatabaseEdit.Text := Path; StreamFormatComboBox.ItemIndex := Ord(BlobStreamFormat); UseDelimitedIdentsCheckBox.Checked := UIBUseDelimitedIdents in Options; LoginPromptCheckBox.Checked := LoginPrompt; ParamsEditor.Lines.Text := ConnectionDef.Params; IdDataTypeComboBox.ItemIndex := Ord(IdDataType); IdSizeEdit.Text := IntToStr(IdSize); end; UpdateControls; end; procedure TInstantUIBConnectionDefEditForm.LocalRemoteChange( Sender: TObject); begin UpdateControls; end; procedure TInstantUIBConnectionDefEditForm.SaveData( ConnectionDef: TInstantUIBConnectionDef); begin with ConnectionDef do begin if LocalRadioButton.Checked then NetType := ntLocal else NetType := TUIBNetType(ProtocolEdit.ItemIndex + 1); ServerName := ServerEdit.Text; Path := DatabaseEdit.Text; BlobStreamFormat := TInstantStreamFormat(StreamFormatComboBox.ItemIndex); Options := []; if UseDelimitedIdentsCheckBox.Checked then Options := Options + [UIBUseDelimitedIdents]; LoginPrompt := LoginPromptCheckBox.Checked; ConnectionDef.Params := ParamsEditor.Lines.Text; IdDataType := TInstantDataType(IdDataTypeComboBox.ItemIndex); IdSize := StrToInt(IdSizeEdit.Text); end; end; procedure TInstantUIBConnectionDefEditForm.UpdateControls; const Colors: array[Boolean] of TColor = (clBtnFace, clWindow); var UseRemote: Boolean; begin UseRemote := RemoteRadioButton.Checked; ServerLabel.Enabled := UseRemote; ServerEdit.Enabled := UseRemote; ServerEdit.Color := Colors[UseRemote]; ProtocolLabel.Enabled := UseRemote; ProtocolEdit.Enabled := UseRemote; ProtocolEdit.Color := Colors[UseRemote]; DatabaseButton.Enabled := not UseRemote; with ProtocolEdit do if ItemIndex = -1 then ItemIndex := 0; end; end. --- NEW FILE: InstantUIB.pas --- (* * InstantObjects * UIB Support *) (* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is: Andrea Petrelli * * The Initial Developer of the Original Code is: Andrea Petrelli * * ***** END LICENSE BLOCK ***** *) unit InstantUIB; {$I ..\..\Core\InstantDefines.inc} {$IFDEF D7+} {$WARN UNSAFE_TYPE OFF} {$WARN UNSAFE_CAST OFF} {$WARN UNSAFE_CODE OFF} {$ENDIF} interface uses Classes, Db, jvuib, jvuibdataset, jvuiblib, SysUtils, InstantUIBConnection, InstantPersistence, InstantClasses, InstantCommand, TypInfo; type TInstantUIBOption = (uibUseDelimitedIdents); TInstantUIBOptions = set of TInstantUIBOption; const DefaultInstantUIBOptions = [uibUseDelimitedIdents]; type TUIBNetType = (ntLocal, ntTCP, ntNetBEUI, ntSPX); TInstantUIBConnectionDef = class(TInstantConnectionBasedConnectionDef) private FPath: string; FServerName: string; FNetType: TUIBNetType; FOptions: TInstantUIBOptions; FParams: string; function GetDatabaseName: string; function GetServerName: string; protected function CreateConnection(AOwner: TComponent): TCustomConnection; override; procedure InitConnector(Connector: TInstantConnector); override; public class function ConnectionTypeName: string; override; class function ConnectorClass: TInstantConnectorClass; override; constructor Create(Collection: TCollection); override; function Edit: Boolean; override; property DatabaseName: string read GetDatabaseName; published property Path: string read FPath write FPath; property NetType: TUIBNetType read FNetType write FNetType; property ServerName: string read GetServerName write FServerName; property Options: TInstantUIBOptions read FOptions write FOptions; property Params: string read FParams write FParams; end; TInstantUIBConnector = class(TInstantConnectionBasedConnector) private FTransaction: TJvUIBTransaction; FOptions: TInstantUIBOptions; function GetConnection: TInstantUIBConnection; function GetTransaction: TJvUIBTransaction; procedure SetConnection(const Value: TInstantUIBConnection); protected function CreateBroker: TInstantBroker; override; procedure InternalBuildDatabase(Scheme: TInstantScheme); override; procedure InternalCommitTransaction; override; procedure InternalRollbackTransaction; override; procedure InternalStartTransaction; override; procedure InternalCreateDatabase; override; function GetDatabaseExists: Boolean; override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; class function ConnectionDefClass: TInstantConnectionDefClass; override; property Transaction: TJvUIBTransaction read GetTransaction; published property Connection: TInstantUIBConnection read GetConnection write SetConnection; property Options: TInstantUIBOptions read FOptions write FOptions default DefaultInstantUIBOptions; end; TInstantUIBBroker= class(TInstantSQLBroker) private function GetDialect: Integer; function GetConnector: TInstantUIBConnector; function DelimitedIdentsEnabled: Boolean; protected function CreateResolver(Map: TInstantAttributeMap): TInstantSQLResolver; override; function GetDatabaseName: string; override; function GetDBMSName: string; override; function GetSQLDelimiters: string; override; function GetSQLQuote: Char; override; function InternalCreateQuery: TInstantQuery; override; procedure PrepareQuery(DataSet : TDataSet); override; procedure UnprepareQuery(DataSet : TDataSet); override; function ExecuteQuery(DataSet : TDataSet) : integer; override; procedure AssignDataSetParams(DataSet : TDataSet; AParams: TParams); override; public function CreateDataSet(const AStatement: string; AParams: TParams = nil): TDataSet; override; function DataTypeToColumnType(DataType: TInstantDataType; Size: Integer): string; override; function Execute(const AStatement: string; AParams: TParams = nil): Integer; override; property Connector: TInstantUIBConnector read GetConnector; property Dialect: Integer read GetDialect; end; TInstantUIBResolver = class(TInstantSQLResolver) protected function ReadBooleanField(DataSet: TDataSet; const FieldName: string): Boolean; override; end; TInstantUIBTranslator = class(TInstantRelationalTranslator) protected function TranslateConstant(Constant: TInstantIQLConstant; Writer: TInstantIQLWriter): Boolean; override; end; TInstantUIBQuery = class(TInstantSQLQuery) protected class function TranslatorClass: TInstantRelationalTranslatorClass; override; procedure InternalOpen; override; end; procedure Register; implementation uses Controls, InstantConsts, InstantUIBConnectionDefEdit, InstantUtils, IB, IBHeader, IBIntf; procedure Register; begin RegisterComponents('InstantObjects', [TInstantUIBConnector]); end; { TInstantUIBConnectionDef } class function TInstantUIBConnectionDef.ConnectionTypeName: string; begin Result := 'UIB'; end; class function TInstantUIBConnectionDef.ConnectorClass: TInstantConnectorClass; begin Result := TInstantUIBConnector; end; constructor TInstantUIBConnectionDef.Create(Collection: TCollection); begin inherited; FOptions := DefaultInstantUIBOptions; end; function TInstantUIBConnectionDef.CreateConnection( AOwner: TComponent): TCustomConnection; var Connection: TInstantUIBConnection; begin Connection := TInstantUIBConnection.Create(AOwner); try Connection.Database.DatabaseName := DatabaseName; Connection.Database.SQLDialect := 3; Connection.Database.Params.Text := Params; except Connection.Free; raise; end; Result := Connection; end; function TInstantUIBConnectionDef.Edit: Boolean; begin with TInstantUIBConnectionDefEditForm.Create(nil) do try LoadData(Self); Result := ShowModal = mrOk; if Result then SaveData(Self); finally Free; end; end; function TInstantUIBConnectionDef.GetDatabaseName: string; var Fmt: string; begin if NetType = ntLocal then Result := Path else begin case NetType of ntTCP: Fmt := '%s:%s'; ntNetBEUI: Fmt := '\\%s\%s'; ntSPX: Fmt := '%s@%s'; end; Result := Format(Fmt, [ServerName, Path]); end; end; function TInstantUIBConnectionDef.GetServerName: string; begin if NetType = ntLocal then Result := '' else Result := FServerName; end; procedure TInstantUIBConnectionDef.InitConnector(Connector: TInstantConnector); begin inherited; (Connector as TInstantUIBConnector).Options := FOptions; end; { TInstantUIBConnector } class function TInstantUIBConnector.ConnectionDefClass: TInstantConnectionDefClass; begin Result := TInstantUIBConnectionDef; end; constructor TInstantUIBConnector.Create(AOwner: TComponent); begin inherited; FOptions := DefaultInstantUIBOptions; end; function TInstantUIBConnector.CreateBroker: TInstantBroker; begin Result := TInstantUIBBroker.Create(Self); end; destructor TInstantUIBConnector.Destroy; begin FTransaction.Free; inherited; end; function TInstantUIBConnector.GetConnection: TInstantUIBConnection; begin Result := inherited Connection as TInstantUIBConnection; end; function TInstantUIBConnector.GetTransaction: TJvUIBTransaction; begin if not Assigned(FTransaction) then begin CheckConnection; FTransaction := TJvUIBTransaction.Create(nil); try FTransaction.Database := Connection.Database; FTransaction.AutoStart := True; FTransaction.AutoStop := True; FTransaction.DefaultAction := etmRollback; FTransaction.Options := [tpReadCommitted]; except FTransaction.Free; raise; end end; Result := FTransaction; end; procedure TInstantUIBConnector.InternalBuildDatabase( Scheme: TInstantScheme); begin StartTransaction; try inherited; CommitTransaction; except RollbackTransaction; raise; end; end; procedure TInstantUIBConnector.InternalCommitTransaction; begin Transaction.Commit; end; procedure TInstantUIBConnector.InternalRollbackTransaction; begin Transaction.Rollback; end; procedure TInstantUIBConnector.InternalStartTransaction; begin if not Transaction.InTransaction then Transaction.StartTransaction; end; procedure TInstantUIBConnector.SetConnection(const Value: TInstantUIBConnection); begin inherited Connection := Value; end; procedure TInstantUIBConnector.InternalCreateDatabase; begin inherited; Connection.Close; try Connection.Database.CreateDatabase(4096); finally Connection.Close; end; end; function TInstantUIBConnector.GetDatabaseExists: Boolean; begin AssignLoginOptions; try Connection.Open; try Result := True; finally Connection.Close; end; except Result := False end; end; { TInstantUIBBroker} procedure TInstantUIBBroker.AssignDataSetParams(DataSet : TDataSet; AParams: TParams); var I: Integer; BlobContent: String; SourceParam: TParam; TargetParams : TSQLParams; begin //don't call inherited! TargetParams := TJvUIBDataset(DataSet).Params; for I := 0 to Pred(AParams.Count) do begin SourceParam := AParams[I]; case SourceParam.DataType of ftString: TargetParams.ByNameAsString[SourceParam.Name] := SourceParam.AsString; ftInteger: TargetParams.ByNameAsInteger[SourceParam.Name] := SourceParam.AsInteger; ftFloat: TargetParams.ByNameAsDouble[SourceParam.Name] := SourceParam.AsFloat; ftDateTime: TargetParams.ByNameAsDateTime[SourceParam.Name] := SourceParam.AsDateTime; ftBoolean: TargetParams.ByNameAsBoolean[SourceParam.Name] := SourceParam.AsBoolean; ftBlob: begin BlobContent := SourceParam.AsBlob; TJvUIBDataset(DataSet).ParamsSetBlob(SourceParam.Name, BlobContent); end; else raise Exception.Create('Parameter data type not supported : ' + GetEnumName(TypeInfo(TFieldType), Ord(SourceParam.DataType))); end; end; end; function TInstantUIBBroker.CreateDataSet(const AStatement: string; AParams: TParams): TDataSet; var Query: TJvUIBDataSet; begin Query := TJvUIBDataSet.Create(NIl); with Query do begin Database := Connector.Connection.Database; FetchBlobs := True; OnError := etmStayIn; OnClose := etmStayIn; SQL.Text := AStatement; Transaction := Connector.Transaction; UniDirectional := True; if Assigned(AParams) then AssignDataSetParams(Query, AParams); end; Result := Query; end; function TInstantUIBBroker.CreateResolver( Map: TInstantAttributeMap): TInstantSQLResolver; begin Result := TInstantUIBResolver.Create(Self, Map); end; function TInstantUIBBroker.DataTypeToColumnType( DataType: TInstantDataType; Size: Integer): string; const Types: array[TInstantDataType] of string = ( 'INTEGER', 'DOUBLE PRECISION', 'DECIMAL(14,4)', 'SMALLINT', 'VARCHAR', 'BLOB SUB_TYPE 1', 'TIMESTAMP', 'BLOB'); begin Result := Types[DataType]; if (DataType = dtString) and (Size > 0) then Result := Result + InstantEmbrace(IntToStr(Size), '()'); end; function TInstantUIBBroker.DelimitedIdentsEnabled: Boolean; begin Result := UIBUseDelimitedIdents in Connector.Options; end; function TInstantUIBBroker.Execute(const AStatement: string; AParams: TParams): Integer; begin with CreateDataSet(AStatement, AParams) as TJvUIBDataSet do try Execute; Result := RowsAffected; finally Free; end; end; function TInstantUIBBroker.ExecuteQuery(DataSet: TDataSet) : integer; begin //don't call inherited! with TJvUIBDataSet(DataSet) do begin Execute; Result := RowsAffected; end; end; function TInstantUIBBroker.GetConnector: TInstantUIBConnector; begin Result := inherited Connector as TInstantUIBConnector; end; function TInstantUIBBroker.GetDatabaseName: string; begin Result := Connector.Connection.Database.DatabaseName; end; function TInstantUIBBroker.GetDBMSName: string; begin Result := 'InterBase'; end; function TInstantUIBBroker.GetDialect: Integer; begin Result := Connector.Connection.Database.SQLDialect; end; function TInstantUIBBroker.GetSQLDelimiters: string; begin if (Dialect = 3) and DelimitedIdentsEnabled() then Result := '""' else Result := inherited GetSQLDelimiters; end; function TInstantUIBBroker.GetSQLQuote: Char; begin Result := ''''; end; function TInstantUIBBroker.InternalCreateQuery: TInstantQuery; begin Result := TInstantUIBQuery.Create(Connector); end; procedure TInstantUIBBroker.PrepareQuery(DataSet: TDataSet); begin inherited; end; procedure TInstantUIBBroker.UnprepareQuery(DataSet: TDataSet); begin inherited; end; { TInstantUIBTranslator } function TInstantUIBTranslator.TranslateConstant( Constant: TInstantIQLConstant; Writer: TInstantIQLWriter): Boolean; begin if SameText(Constant.Value, InstantTrueString) then begin Writer.WriteChar('1'); Result := True; end else if SameText(Constant.Value, InstantFalseString) then begin Writer.WriteChar('0'); Result := True; end else Result := inherited TranslateConstant(Constant, Writer); end; { TInstantUIBQuery } procedure TInstantUIBQuery.InternalOpen; begin inherited; end; class function TInstantUIBQuery.TranslatorClass: TInstantRelationalTranslatorClass; begin Result := TInstantUIBTranslator; end; { TInstantUIBResolver } function TInstantUIBResolver.ReadBooleanField(DataSet: TDataSet; const FieldName: string): Boolean; begin Result := Boolean(DataSet.FieldByName(FieldName).AsInteger); end; initialization RegisterClass(TInstantUIBConnectionDef); TInstantUIBConnector.RegisterClass; finalization TInstantUIBConnector.UnregisterClass; end. --- NEW FILE: InstantUIBReg.pas --- (* * InstantObjects * UIB Support *) (* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is: Andrea Petrelli * * The Initial Developer of the Original Code is: Andrea Petrelli * * ***** END LICENSE BLOCK ***** *) unit InstantUIBReg; interface procedure Register; implementation uses Classes, InstantUIB, InstantUIBConnection; procedure Register; begin RegisterComponents('InstantObjects', [TInstantUIBConnector]); RegisterComponents('InstantObjects', [TInstantUIBConnection]); end; end. --- NEW FILE: InstantUIBConnectionDefEdit.dfm --- object InstantUIBConnectionDefEditForm: TInstantUIBConnectionDefEditForm Left = 914 Top = 281 BorderStyle = bsDialog Caption = 'InterBase Connection' ClientHeight = 399 ClientWidth = 362 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] OldCreateOrder = True Position = poScreenCenter OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object BottomBevel: TBevel Left = 0 Top = 362 Width = 362 Height = 2 Align = alBottom Shape = bsBottomLine end object ClientPanel: TPanel Left = 0 Top = 0 Width = 362 Height = 362 Align = alClient BevelOuter = bvNone TabOrder = 0 object ServerLabel: TLabel Left = 16 Top = 36 Width = 31 Height = 13 Caption = '&Server' FocusControl = ServerEdit end object ProtocolLabel: TLabel Left = 235 Top = 36 Width = 39 Height = 13 Caption = '&Protocol' FocusControl = ProtocolEdit end object DatabaseLabel: TLabel Left = 16 Top = 76 Width = 46 Height = 13 Caption = '&Database' FocusControl = DatabaseEdit end object StreamFormatLabel: TLabel Left = 16 Top = 312 Width = 53 Height = 13 Caption = 'Blob &format' FocusControl = StreamFormatComboBox end object ParamsLabel: TLabel Left = 16 Top = 140 Width = 95 Height = 13 Caption = 'Connection &Settings' FocusControl = ParamsEditor end object Label1: TLabel Left = 136 Top = 312 Width = 62 Height = 13 Caption = 'Id Data Type' FocusControl = IdDataTypeComboBox end object Label2: TLabel Left = 256 Top = 312 Width = 32 Height = 13 Caption = 'Id Size' FocusControl = IdDataTypeComboBox end object LocalRadioButton: TRadioButton Left = 16 Top = 16 Width = 57 Height = 17 Caption = '&Local' Checked = True TabOrder = 0 TabStop = True OnClick = LocalRemoteChange end object RemoteRadioButton: TRadioButton Left = 86 Top = 16 Width = 65 Height = 17 Caption = '&Remote' TabOrder = 1 OnClick = LocalRemoteChange end object ServerEdit: TEdit Left = 16 Top = 52 Width = 209 Height = 21 TabOrder = 2 end object ProtocolEdit: TComboBox Left = 235 Top = 52 Width = 110 Height = 21 Style = csDropDownList ItemHeight = 13 TabOrder = 3 Items.Strings = ( 'TCP/IP' 'NetBEUI' 'SPX') end object DatabaseEdit: TEdit Left = 16 Top = 92 Width = 305 Height = 21 TabOrder = 4 end object DatabaseButton: TButton Left = 321 Top = 92 Width = 21 Height = 21 Caption = '...' TabOrder = 5 OnClick = DatabaseButtonClick end object StreamFormatComboBox: TComboBox Left = 16 Top = 328 Width = 113 Height = 21 Style = csDropDownList ItemHeight = 13 Sorted = True TabOrder = 9 end object UseDelimitedIdentsCheckBox: TCheckBox Left = 16 Top = 118 Width = 150 Height = 17 Caption = '&Use delimited identifiers' TabOrder = 6 end object LoginPromptCheckBox: TCheckBox Left = 196 Top = 118 Width = 150 Height = 17 Caption = '&Login Prompt' TabOrder = 7 end object ParamsEditor: TMemo Left = 17 Top = 160 Width = 328 Height = 149 TabOrder = 8 end object IdDataTypeComboBox: TComboBox Left = 136 Top = 328 Width = 113 Height = 21 Style = csDropDownList ItemHeight = 13 TabOrder = 10 end object IdSizeEdit: TEdit Left = 256 Top = 328 Width = 89 Height = 21 TabOrder = 11 end end object BottomPanel: TPanel Left = 0 Top = 364 Width = 362 Height = 35 Align = alBottom BevelOuter = bvNone TabOrder = 1 DesignSize = ( 362 35) object OkButton: TButton Left = 204 Top = 6 Width = 75 Height = 25 Anchors = [akTop, akRight] Caption = 'OK' Default = True ModalResult = 1 TabOrder = 0 end object CancelButton: TButton Left = 284 Top = 6 Width = 75 Height = 25 Anchors = [akTop, akRight] Cancel = True Caption = 'Cancel' ModalResult = 2 TabOrder = 1 end end end --- NEW FILE: InstantUIBConnection.pas --- (* * InstantObjects * UIB Connection *) (* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is: Andrea Petrelli * * The Initial Developer of the Original Code is: Andrea Petrelli * * ***** END LICENSE BLOCK ***** *) unit InstantUIBConnection; interface uses Classes, DB, jvuib; type TInstantUIBConnection = class(TCustomConnection) private FDatabase: TJvUIBDataBase; protected procedure DoConnect; override; procedure DoDisconnect; override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; published property Database: TJvUIBDataBase read FDatabase; end; implementation { TInstantUIBConnection } constructor TInstantUIBConnection.Create(AOwner: TComponent); begin inherited; FDatabase := TJvUIBDataBase.Create(Self); FDatabase.Name := 'Database'; end; destructor TInstantUIBConnection.Destroy; begin FDatabase.Free; inherited; end; procedure TInstantUIBConnection.DoConnect; begin inherited; FDatabase.Connected := True; end; procedure TInstantUIBConnection.DoDisconnect; begin inherited; FDatabase.Connected := False; end; end. --- NEW FILE: InstantUIB.dcr --- (This appears to be a binary file; contents omitted.) |
From: Andrea P. <and...@us...> - 2004-10-11 08:15:31
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB/D7 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17610/Brokers/UIB/D7 Added Files: DclIOUIB.cfg DclIOUIB.dof DclIOUIB.dpk DclIOUIB.res IOUIB.cfg IOUIB.dof IOUIB.dpk IOUIB.res Log Message: UIB broker --- NEW FILE: IOUIB.dpk --- package IOUIB; {$R *.res} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects UIB Run-Time Support (Delphi 7)'} {$LIBSUFFIX '_D7'} {$RUNONLY} {$IMPLICITBUILD OFF} requires vcl, vcldb, ibxpress, IOCore, JvUIBD7R; contains InstantUIBConnectionDefEdit in '..\InstantUIBConnectionDefEdit.pas' {InstantUIBConnectionDefEditForm}, InstantUIB in '..\InstantUIB.pas', InstantUIBConnection in '..\InstantUIBConnection.pas'; end. --- NEW FILE: IOUIB.res --- (This appears to be a binary file; contents omitted.) --- NEW FILE: IOUIB.dof --- [FileVersion] Version=7.0 [Compiler] A=8 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=1 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; NamespacePrefix= SymbolDeprecated=1 SymbolLibrary=1 SymbolPlatform=1 UnitLibrary=1 UnitPlatform=1 UnitDeprecated=1 HResultCompat=1 HidingMember=1 HiddenVirtual=1 Garbage=1 BoundsError=1 ZeroNilCompat=1 StringConstTruncated=1 ForLoopVarVarPar=1 TypedConstVarPar=1 AsgToTypedConst=1 CaseLabelRange=1 ForVariable=1 ConstructingAbstract=1 ComparisonFalse=1 ComparisonTrue=1 ComparingSignedUnsigned=1 CombiningSignedUnsigned=1 UnsupportedConstruct=1 FileOpen=1 FileOpenUnitSrc=1 BadGlobalSymbol=1 DuplicateConstructorDestructor=1 InvalidDirective=1 PackageNoLink=1 PackageThreadVar=1 ImplicitImport=1 HPPEMITIgnored=1 NoRetVal=1 UseBeforeDef=1 ForLoopVarUndef=1 UnitNameMismatch=1 NoCFGFileFound=1 MessageDirective=1 ImplicitVariants=1 UnicodeToLocale=1 LocaleToUnicode=1 ImagebaseMultiple=1 SuspiciousTypecast=1 PrivatePropAccessor=1 UnsafeType=0 UnsafeCode=0 UnsafeCast=0 [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription=InstantObjects UIB Run-Time Support (Delphi 7) [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath= Packages= Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= Launcher= UseLauncher=0 DebugCWD= [Language] ActiveLang= ProjectLang= RootDir=C:\Work\DelphiComps\D7\IO16\Source\Brokers\IBX\ [Version Info] IncludeVerInfo=1 AutoIncBuild=0 MajorVer=1 MinorVer=7 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=1040 CodePage=1252 [Version Info Keys] CompanyName=InstantObjects.org FileDescription=InstantObjects UIB Run-Time Support (Delphi 7) FileVersion=1.7.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName=InstantObjects ProductVersion=1.7 [Exception Log] EurekaLog Version=454 Activate=0 Activate Handle=1 Save Log File=1 Foreground Tab=0 EurekaLogLook=1 Freeze Activate=0 Freeze Timeout=60 Freeze Message=The application seems to be frozen. SMTP From=eur...@em... SMTP Host= SMTP Port=25 SMTP UserID= SMTP Password= SMTP ShowDialog=1 ShowExceptionDialog=1 Append to Log=0 Send Entire Log=0 Attach Screenshot=0 Show TerminateBtn=1 TerminateBtn Operation=1 Errors Number=32 Errors Terminate=3 Email Address= Email Object= Email Send Options=0 Output Path= Count=0 EMail Message Line Count=0 loNoDuplicateErrors=0 loAppendReproduceText=0 AppStartDate=1 AppName=1 AppVersionNumber=1 AppParameters=1 ExcDate=1 ExcAddress=1 ExcModule=1 ExcType=1 ExcMessage=1 ActCtlsFormClass=1 ActCtlsFormText=1 ActCtlsControlClass=1 ActCtlsControlText=1 CmpName=1 CmpUser=1 CmpTotalMemory=1 CmpFreeMemory=1 CmpTotalDisk=1 CmpFreeDisk=1 OSType=1 OSBuildN=1 OSUpdate=1 OSLanguage=1 Count mtInformationMsgCaption=1 mtInformationMsgCaption0=Information. Count mtQuestionMsgCaption=1 mtQuestionMsgCaption0=Question. Count mtDialog_Caption=1 mtDialog_Caption0=Error. Count mtDialog_ErrorMsgCaption=2 mtDialog_ErrorMsgCaption0=An error has occurred during program execution. mtDialog_ErrorMsgCaption1=Please read the following information for further details. Count mtDialog_GeneralCaption=1 mtDialog_GeneralCaption0=General Count mtDialog_GeneralHeader=1 mtDialog_GeneralHeader0=General Information Count mtDialog_CallStackCaption=1 mtDialog_CallStackCaption0=Call Stack Count mtDialog_CallStackHeader=1 mtDialog_CallStackHeader0=Call Stack Information Count mtDialog_ModulesCaption=1 mtDialog_ModulesCaption0=Modules Count mtDialog_ModulesHeader=1 mtDialog_ModulesHeader0=Modules Information Count mtDialog_CPUCaption=1 mtDialog_CPUCaption0=CPU Count mtDialog_CPUHeader=1 mtDialog_CPUHeader0=CPU Information Count mtDialog_OKButtonCaption=1 mtDialog_OKButtonCaption0=&OK Count mtDialog_TerminateButtonCaption=1 mtDialog_TerminateButtonCaption0=&Terminate Count mtDialog_RestartButtonCaption=1 mtDialog_RestartButtonCaption0=&Restart Count mtDialog_DetailsButtonCaption=1 mtDialog_DetailsButtonCaption0=&Details Count mtDialog_EmailMessage=1 mtDialog_EmailMessage0=&Send this error via Email Count mtDialog_ScreenshotMessage=1 mtDialog_ScreenshotMessage0=&Attach a Screenshot image Count mtDialog_CopyMessage=1 mtDialog_CopyMessage0=&Copy to Clipboard Count mtLog_AppHeader=1 mtLog_AppHeader0=Application Count mtLog_AppStartDate=1 mtLog_AppStartDate0=Start Date Count mtLog_AppName=1 mtLog_AppName0=Name/Description Count mtLog_AppVersionNumber=1 mtLog_AppVersionNumber0=Version Number Count mtLog_AppParameters=1 mtLog_AppParameters0=Parameters Count mtLog_ExcHeader=1 mtLog_ExcHeader0=Exception Count mtLog_ExcDate=1 mtLog_ExcDate0=Date Count mtLog_ExcAddress=1 mtLog_ExcAddress0=Address Count mtLog_ExcModule=1 mtLog_ExcModule0=Module Count mtLog_ExcType=1 mtLog_ExcType0=Type Count mtLog_ExcMessage=1 mtLog_ExcMessage0=Message Count mtLog_ActCtrlsHeader=1 mtLog_ActCtrlsHeader0=Active Controls Count mtLog_ActCtrlsFormClass=1 mtLog_ActCtrlsFormClass0=Form Class Count mtLog_ActCtrlsFormText=1 mtLog_ActCtrlsFormText0=Form Text Count mtLog_ActCtrlsControlClass=1 mtLog_ActCtrlsControlClass0=Control Class Count mtLog_ActCtrlsControlText=1 mtLog_ActCtrlsControlText0=Control Text Count mtLog_CmpHeader=1 mtLog_CmpHeader0=Computer Count mtLog_CmpName=1 mtLog_CmpName0=Name Count mtLog_CmpUser=1 mtLog_CmpUser0=User Count mtLog_CmpTotalMemory=1 mtLog_CmpTotalMemory0=Total Memory Count mtLog_CmpFreeMemory=1 mtLog_CmpFreeMemory0=Free Memory Count mtLog_CmpTotalDisk=1 mtLog_CmpTotalDisk0=Total Disk Count mtLog_CmpFreeDisk=1 mtLog_CmpFreeDisk0=Free Disk Count mtLog_OSHeader=1 mtLog_OSHeader0=Operating System Count mtLog_OSType=1 mtLog_OSType0=Type Count mtLog_OSBuildN=1 mtLog_OSBuildN0=Build # Count mtLog_OSUpdate=1 mtLog_OSUpdate0=Update Count mtLog_OSLanguage=1 mtLog_OSLanguage0=Language Count mtCallStack_Address=1 mtCallStack_Address0=Address Count mtCallStack_Name=1 mtCallStack_Name0=Module Count mtCallStack_Unit=1 mtCallStack_Unit0=Unit Count mtCallStack_Class=1 mtCallStack_Class0=Class Count mtCallStack_Procedure=1 mtCallStack_Procedure0=Procedure/Method Count mtCallStack_Line=1 mtCallStack_Line0=Line Count mtSMTPDialog_Caption=1 mtSMTPDialog_Caption0=SMTP. Count mtSMTPDialog_Message=1 mtSMTPDialog_Message0=Message Count mtSMTPDialog_Resolving=1 mtSMTPDialog_Resolving0=Resolving MX record... Count mtSMTPDialog_Connecting=1 mtSMTPDialog_Connecting0=Connecting with SMTP server... Count mtSMTPDialog_Connected=1 mtSMTPDialog_Connected0=Connected with SMTP server. Count mtSMTPDialog_Sending=1 mtSMTPDialog_Sending0=Sending message... Count mtReproduceDialog_Caption=1 mtReproduceDialog_Caption0=Request Count mtReproduceDialog_Request=1 mtReproduceDialog_Request0=Please describe the steps to reproduce the error: Count mtReproduceDialog_OKButtonCaption=1 mtReproduceDialog_OKButtonCaption0=&OK Count mtModules_Handle=1 mtModules_Handle0=Handle Count mtModules_Name=1 mtModules_Name0=Name Count mtModules_Description=1 mtModules_Description0=Description Count mtModules_Version=1 mtModules_Version0=Version Count mtModules_Size=1 mtModules_Size0=Size Count mtModules_Path=1 mtModules_Path0=Path Count mtCPU_Registers=1 mtCPU_Registers0=Registers Count mtCPU_Stack=1 mtCPU_Stack0=Stack Count mtCPU_MemoryDump=1 mtCPU_MemoryDump0=Memory Dump --- NEW FILE: IOUIB.cfg --- -$A8 -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J+ -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -LE"c:\programmi\borland\delphi7\Projects\Bpl" -LN"c:\programmi\borland\delphi7\Projects\Bpl" -Z -w-UNSAFE_TYPE -w-UNSAFE_CODE -w-UNSAFE_CAST --- NEW FILE: DclIOUIB.cfg --- -$A8 -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J+ -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -LE"c:\programmi\borland\delphi7\Projects\Bpl" -LN"c:\programmi\borland\delphi7\Projects\Bpl" -Z --- NEW FILE: DclIOUIB.dof --- [FileVersion] Version=7.0 [Compiler] A=8 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=1 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; NamespacePrefix= SymbolDeprecated=1 SymbolLibrary=1 SymbolPlatform=1 UnitLibrary=1 UnitPlatform=1 UnitDeprecated=1 HResultCompat=1 HidingMember=1 HiddenVirtual=1 Garbage=1 BoundsError=1 ZeroNilCompat=1 StringConstTruncated=1 ForLoopVarVarPar=1 TypedConstVarPar=1 AsgToTypedConst=1 CaseLabelRange=1 ForVariable=1 ConstructingAbstract=1 ComparisonFalse=1 ComparisonTrue=1 ComparingSignedUnsigned=1 CombiningSignedUnsigned=1 UnsupportedConstruct=1 FileOpen=1 FileOpenUnitSrc=1 BadGlobalSymbol=1 DuplicateConstructorDestructor=1 InvalidDirective=1 PackageNoLink=1 PackageThreadVar=1 ImplicitImport=1 HPPEMITIgnored=1 NoRetVal=1 UseBeforeDef=1 ForLoopVarUndef=1 UnitNameMismatch=1 NoCFGFileFound=1 MessageDirective=1 ImplicitVariants=1 UnicodeToLocale=1 LocaleToUnicode=1 ImagebaseMultiple=1 SuspiciousTypecast=1 PrivatePropAccessor=1 UnsafeType=1 UnsafeCode=1 UnsafeCast=1 [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription=InstantObjects UIB Design-Time Support (Delphi 7) [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath= Packages= Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= Launcher= UseLauncher=0 DebugCWD= [Language] ActiveLang= ProjectLang= RootDir=C:\Work\DelphiComps\D7\IO16\Source\Brokers\IBX\ [Version Info] IncludeVerInfo=1 AutoIncBuild=0 MajorVer=1 MinorVer=7 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=1040 CodePage=1252 [Version Info Keys] CompanyName=InstantObjects.org FileDescription=InstantObjects UIB Design-Time Support (Delphi 7) FileVersion=1.7.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName=InstantObjects ProductVersion=1.7 [Exception Log] EurekaLog Version=454 Activate=0 Activate Handle=1 Save Log File=1 Foreground Tab=0 EurekaLogLook=1 Freeze Activate=0 Freeze Timeout=60 Freeze Message=The application seems to be frozen. SMTP From=eur...@em... SMTP Host= SMTP Port=25 SMTP UserID= SMTP Password= SMTP ShowDialog=1 ShowExceptionDialog=1 Append to Log=0 Send Entire Log=0 Attach Screenshot=0 Show TerminateBtn=1 TerminateBtn Operation=1 Errors Number=32 Errors Terminate=3 Email Address= Email Object= Email Send Options=0 Output Path= Count=0 EMail Message Line Count=0 loNoDuplicateErrors=0 loAppendReproduceText=0 AppStartDate=1 AppName=1 AppVersionNumber=1 AppParameters=1 ExcDate=1 ExcAddress=1 ExcModule=1 ExcType=1 ExcMessage=1 ActCtlsFormClass=1 ActCtlsFormText=1 ActCtlsControlClass=1 ActCtlsControlText=1 CmpName=1 CmpUser=1 CmpTotalMemory=1 CmpFreeMemory=1 CmpTotalDisk=1 CmpFreeDisk=1 OSType=1 OSBuildN=1 OSUpdate=1 OSLanguage=1 Count mtInformationMsgCaption=1 mtInformationMsgCaption0=Information. Count mtQuestionMsgCaption=1 mtQuestionMsgCaption0=Question. Count mtDialog_Caption=1 mtDialog_Caption0=Error. Count mtDialog_ErrorMsgCaption=2 mtDialog_ErrorMsgCaption0=An error has occurred during program execution. mtDialog_ErrorMsgCaption1=Please read the following information for further details. Count mtDialog_GeneralCaption=1 mtDialog_GeneralCaption0=General Count mtDialog_GeneralHeader=1 mtDialog_GeneralHeader0=General Information Count mtDialog_CallStackCaption=1 mtDialog_CallStackCaption0=Call Stack Count mtDialog_CallStackHeader=1 mtDialog_CallStackHeader0=Call Stack Information Count mtDialog_ModulesCaption=1 mtDialog_ModulesCaption0=Modules Count mtDialog_ModulesHeader=1 mtDialog_ModulesHeader0=Modules Information Count mtDialog_CPUCaption=1 mtDialog_CPUCaption0=CPU Count mtDialog_CPUHeader=1 mtDialog_CPUHeader0=CPU Information Count mtDialog_OKButtonCaption=1 mtDialog_OKButtonCaption0=&OK Count mtDialog_TerminateButtonCaption=1 mtDialog_TerminateButtonCaption0=&Terminate Count mtDialog_RestartButtonCaption=1 mtDialog_RestartButtonCaption0=&Restart Count mtDialog_DetailsButtonCaption=1 mtDialog_DetailsButtonCaption0=&Details Count mtDialog_EmailMessage=1 mtDialog_EmailMessage0=&Send this error via Email Count mtDialog_ScreenshotMessage=1 mtDialog_ScreenshotMessage0=&Attach a Screenshot image Count mtDialog_CopyMessage=1 mtDialog_CopyMessage0=&Copy to Clipboard Count mtLog_AppHeader=1 mtLog_AppHeader0=Application Count mtLog_AppStartDate=1 mtLog_AppStartDate0=Start Date Count mtLog_AppName=1 mtLog_AppName0=Name/Description Count mtLog_AppVersionNumber=1 mtLog_AppVersionNumber0=Version Number Count mtLog_AppParameters=1 mtLog_AppParameters0=Parameters Count mtLog_ExcHeader=1 mtLog_ExcHeader0=Exception Count mtLog_ExcDate=1 mtLog_ExcDate0=Date Count mtLog_ExcAddress=1 mtLog_ExcAddress0=Address Count mtLog_ExcModule=1 mtLog_ExcModule0=Module Count mtLog_ExcType=1 mtLog_ExcType0=Type Count mtLog_ExcMessage=1 mtLog_ExcMessage0=Message Count mtLog_ActCtrlsHeader=1 mtLog_ActCtrlsHeader0=Active Controls Count mtLog_ActCtrlsFormClass=1 mtLog_ActCtrlsFormClass0=Form Class Count mtLog_ActCtrlsFormText=1 mtLog_ActCtrlsFormText0=Form Text Count mtLog_ActCtrlsControlClass=1 mtLog_ActCtrlsControlClass0=Control Class Count mtLog_ActCtrlsControlText=1 mtLog_ActCtrlsControlText0=Control Text Count mtLog_CmpHeader=1 mtLog_CmpHeader0=Computer Count mtLog_CmpName=1 mtLog_CmpName0=Name Count mtLog_CmpUser=1 mtLog_CmpUser0=User Count mtLog_CmpTotalMemory=1 mtLog_CmpTotalMemory0=Total Memory Count mtLog_CmpFreeMemory=1 mtLog_CmpFreeMemory0=Free Memory Count mtLog_CmpTotalDisk=1 mtLog_CmpTotalDisk0=Total Disk Count mtLog_CmpFreeDisk=1 mtLog_CmpFreeDisk0=Free Disk Count mtLog_OSHeader=1 mtLog_OSHeader0=Operating System Count mtLog_OSType=1 mtLog_OSType0=Type Count mtLog_OSBuildN=1 mtLog_OSBuildN0=Build # Count mtLog_OSUpdate=1 mtLog_OSUpdate0=Update Count mtLog_OSLanguage=1 mtLog_OSLanguage0=Language Count mtCallStack_Address=1 mtCallStack_Address0=Address Count mtCallStack_Name=1 mtCallStack_Name0=Module Count mtCallStack_Unit=1 mtCallStack_Unit0=Unit Count mtCallStack_Class=1 mtCallStack_Class0=Class Count mtCallStack_Procedure=1 mtCallStack_Procedure0=Procedure/Method Count mtCallStack_Line=1 mtCallStack_Line0=Line Count mtSMTPDialog_Caption=1 mtSMTPDialog_Caption0=SMTP. Count mtSMTPDialog_Message=1 mtSMTPDialog_Message0=Message Count mtSMTPDialog_Resolving=1 mtSMTPDialog_Resolving0=Resolving MX record... Count mtSMTPDialog_Connecting=1 mtSMTPDialog_Connecting0=Connecting with SMTP server... Count mtSMTPDialog_Connected=1 mtSMTPDialog_Connected0=Connected with SMTP server. Count mtSMTPDialog_Sending=1 mtSMTPDialog_Sending0=Sending message... Count mtReproduceDialog_Caption=1 mtReproduceDialog_Caption0=Request Count mtReproduceDialog_Request=1 mtReproduceDialog_Request0=Please describe the steps to reproduce the error: Count mtReproduceDialog_OKButtonCaption=1 mtReproduceDialog_OKButtonCaption0=&OK Count mtModules_Handle=1 mtModules_Handle0=Handle Count mtModules_Name=1 mtModules_Name0=Name Count mtModules_Description=1 mtModules_Description0=Description Count mtModules_Version=1 mtModules_Version0=Version Count mtModules_Size=1 mtModules_Size0=Size Count mtModules_Path=1 mtModules_Path0=Path Count mtCPU_Registers=1 mtCPU_Registers0=Registers Count mtCPU_Stack=1 mtCPU_Stack0=Stack Count mtCPU_MemoryDump=1 mtCPU_MemoryDump0=Memory Dump --- NEW FILE: DclIOUIB.dpk --- package DclIOUIB; {$R *.res} {$R '..\InstantUIB.dcr'} {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} {$DEBUGINFO ON} {$EXTENDEDSYNTAX ON} {$IMPORTEDDATA ON} {$IOCHECKS ON} {$LOCALSYMBOLS ON} {$LONGSTRINGS ON} {$OPENSTRINGS ON} {$OPTIMIZATION ON} {$OVERFLOWCHECKS OFF} {$RANGECHECKS OFF} {$REFERENCEINFO ON} {$SAFEDIVIDE OFF} {$STACKFRAMES OFF} {$TYPEDADDRESS OFF} {$VARSTRINGCHECKS ON} {$WRITEABLECONST ON} {$MINENUMSIZE 1} {$IMAGEBASE $400000} {$DESCRIPTION 'InstantObjects UIB Design-Time Support (Delphi 7)'} {$LIBSUFFIX '_D7'} {$DESIGNONLY} {$IMPLICITBUILD OFF} requires vcl, vcldb, ibxpress, IOCore, IOUIB; contains InstantUIBReg in '..\InstantUIBReg.pas'; end. --- NEW FILE: DclIOUIB.res --- (This appears to be a binary file; contents omitted.) |