From: <na...@us...> - 2006-09-22 09:34:30
|
Revision: 708 http://svn.sourceforge.net/instantobjects/revision/?rev=708&view=rev Author: nandod Date: 2006-09-22 02:34:16 -0700 (Fri, 22 Sep 2006) Log Message: ----------- * Modification to Support MSSQL 2005 (on behalf of B. Simmons). * Modification to Correct bug in Alter Table Alter Column Syntax for MSSQL (on behalf of B. Simmons). Modified Paths: -------------- trunk/Source/Brokers/ADO/InstantADO.pas trunk/Source/Catalogs/MSSql/InstantMSSqlCatalog.pas Modified: trunk/Source/Brokers/ADO/InstantADO.pas =================================================================== --- trunk/Source/Brokers/ADO/InstantADO.pas 2006-09-22 09:17:32 UTC (rev 707) +++ trunk/Source/Brokers/ADO/InstantADO.pas 2006-09-22 09:34:16 UTC (rev 708) @@ -164,6 +164,11 @@ { MS SQL Server } + TInstantADOMSSQLGenerator = class(TInstantSQLGenerator) + protected + function InternalGenerateAlterFieldSQL(OldMetadata, NewMetadata: TInstantFieldMetadata): string; override; + end; + TInstantADOMSSQLBroker = class(TInstantSQLBroker) protected function CreateCatalog(const AScheme: TInstantScheme): TInstantCatalog; override; @@ -177,6 +182,7 @@ function CreateDataSet(const Statement: string; Params: TParams): TDataSet; override; function DataTypeToColumnType(DataType: TInstantDataType; Size: Integer): string; override; function Execute(const AStatement: string; AParams: TParams): Integer; override; + class function GeneratorClass: TInstantSQLGeneratorClass; override; end; TInstantADOMSSQLResolver = class(TInstantSQLResolver) @@ -685,6 +691,7 @@ const MSJetPrefix = 'Microsoft.Jet'; MSSQLPrefix = 'SQLOLEDB'; + MSSQL2005Prefix = 'SQLNCLI'; OraclePrefix = 'ORA'; MySQLPrefix = 'My'; IBMDB2Prefix = 'IBMDADB2'; @@ -694,7 +701,7 @@ begin if HasPrefix(MSJetPrefix) then Result := ptMSJet - else if HasPrefix(MSSQLPrefix) then + else if HasPrefix(MSSQLPrefix) or HasPrefix(MSSQL2005Prefix) then Result := ptMSSQLServer else if HasPrefix(OraclePrefix) or HasPrefix(MSOraclePrefix) then Result := ptOracle @@ -1024,8 +1031,24 @@ end; end; +{ TInstantADOMSSQLGenerator } + +function TInstantADOMSSQLGenerator.InternalGenerateAlterFieldSQL(OldMetadata, + NewMetadata: TInstantFieldMetadata): string; +begin + Result := Format('ALTER TABLE %s ALTER COLUMN %s %s', + [EmbraceTable(OldMetadata.TableMetadata.Name), + EmbraceField(OldMetadata.Name), + Broker.DataTypeToColumnType(NewMetadata.DataType, NewMetadata.Size)]); +end; + { TInstantADOMSSQLBroker } +class function TInstantADOMSSQLBroker.GeneratorClass: TInstantSQLGeneratorClass; +begin + Result := TInstantADOMSSQLGenerator; +end; + procedure TInstantADOMSSQLBroker.AssignDataSetParams(DataSet: TDataSet; AParams: TParams); begin Modified: trunk/Source/Catalogs/MSSql/InstantMSSqlCatalog.pas =================================================================== --- trunk/Source/Catalogs/MSSql/InstantMSSqlCatalog.pas 2006-09-22 09:17:32 UTC (rev 707) +++ trunk/Source/Catalogs/MSSql/InstantMSSqlCatalog.pas 2006-09-22 09:34:16 UTC (rev 708) @@ -23,7 +23,7 @@ * Portions created by the Initial Developer are Copyright (C) 2005 * the Initial Developer. All Rights Reserved. * - * Contributor(s): Nando Dessena + * Contributor(s): Nando Dessena, Bernard Simmons * * ***** END LICENSE BLOCK ***** *) @@ -242,23 +242,22 @@ ' t.name AS COLUMN_TYPENAME, ' + ' c.xtype AS COLUMN_SUBTYPE, ' + ' CASE ' + - ' WHEN (d.oledb_data_type = 135) AND (c.xtype in (58, 61)) THEN 16' + - ' WHEN (d.oledb_data_type = 6) THEN 8' + - ' WHEN (d.oledb_data_type = 4) THEN 8' + - ' WHEN (d.oledb_data_type = 20) THEN 34' + - ' WHEN (d.oledb_data_type = 72) AND (c.xtype = 36) THEN 38' + + ' WHEN (c.xtype in (58, 61)) THEN 16' + + ' WHEN (c.xtype = 122) THEN 8' + + ' WHEN (c.xtype = 59) THEN 8' + + ' WHEN (c.xtype = 127) THEN 34' + + ' WHEN (c.xtype = 36) THEN 38' + ' ELSE c.length ' + ' END ' + ' AS COLUMN_LENGTH, ' + ' c.prec AS COLUMN_PRECISION, ' + ' CAST(c.scale AS SMALLINT) AS COLUMN_SCALE ' + 'FROM ' + - ' sysobjects o, syscolumns c, systypes t, master.dbo.spt_provider_types d ' + + ' sysobjects o, syscolumns c, systypes t ' + 'WHERE ' + ' o.type in (''U'', ''V'', ''S'') ' + ' AND o.id = c.id ' + ' AND c.xusertype = t.xusertype ' + - ' and c.xtype = d.ss_dtype ' + ' AND o.name = ''' + ATableName + ''' ' + ' ORDER BY c.colorder'; end; |
From: <fas...@us...> - 2006-11-28 10:51:42
|
Revision: 723 http://svn.sourceforge.net/instantobjects/revision/?rev=723&view=rev Author: fastbike2 Date: 2006-11-28 02:51:28 -0800 (Tue, 28 Nov 2006) Log Message: ----------- Fix for [ 1467622 ] Duplicate Attribute Names Modified Paths: -------------- trunk/Source/Design/InstantAttributeEditor.pas trunk/Source/ObjectFoundry/OFExpert.pas Modified: trunk/Source/Design/InstantAttributeEditor.pas =================================================================== --- trunk/Source/Design/InstantAttributeEditor.pas 2006-11-28 07:20:59 UTC (rev 722) +++ trunk/Source/Design/InstantAttributeEditor.pas 2006-11-28 10:51:28 UTC (rev 723) @@ -57,6 +57,18 @@ TInstantBooleanEvent = procedure (Sender: TObject; const AClassName: String; var IsPersistent: Boolean) of object; + TInstantAttributeValidator = class + private + FAttribute: TInstantCodeAttribute; + FInterface: IInterface; + protected + property Attribute: TInstantCodeAttribute read FAttribute; + property MMInterface: IInterface read FInterface; + public + constructor Create(AnAttribute: TInstantCodeAttribute; const AInterface: IInterface); + procedure Validate; virtual; + end; + TInstantAttributeEditorForm = class(TInstantEditForm) AccessSheet: TTabSheet; DefinitionSheet: TTabSheet; @@ -123,10 +135,12 @@ FModel: TInstantCodeModel; FOnIsClassPersistent: TInstantBooleanEvent; FOnLoadClasses: TInstantStringsEvent; + FValidator: TInstantAttributeValidator; function GetSubject: TInstantCodeAttribute; procedure SetSubject(const Value: TInstantCodeAttribute); procedure SetLimited(Value: Boolean); procedure SetModel(const Value: TInstantCodeModel); + procedure SetValidator(const Value: TInstantAttributeValidator); protected procedure LoadClasses; procedure LoadData; override; @@ -151,6 +165,7 @@ property OnLoadClasses: TInstantStringsEvent read FOnLoadClasses write FOnLoadClasses; property Subject: TInstantCodeAttribute read GetSubject write SetSubject; + property Validator: TInstantAttributeValidator read FValidator write SetValidator; end; implementation @@ -172,6 +187,7 @@ begin PageControl.ActivePage := DefinitionSheet; ActiveControl := NameEdit; + FValidator := TInstantAttributeValidator.Create(Subject, nil); end; function TInstantAttributeEditorForm.GetSubject: TInstantCodeAttribute; @@ -385,25 +401,19 @@ end; procedure TInstantAttributeEditorForm.OkButtonClick(Sender: TObject); -var - Attribute: TInstantCodeAttribute; - I: Integer; begin if OKButton.CanFocus then OKButton.SetFocus; - if Assigned(Subject.Owner) then - for I := 0 to Pred(Subject.Owner.AttributeCount) do - begin - Attribute := Subject.Owner.Attributes[I]; - if (Attribute <> Subject) and SameText(Attribute.Name, Subject.Name) then - begin - ModalResult := mrNone; - PageControl.ActivePage := DefinitionSheet; - NameEdit.SetFocus; - raise Exception.Create('Attribute Name already used'); - end; - end; + try + FValidator.Validate; + except + ModalResult := mrNone; + PageControl.ActivePage := DefinitionSheet; + NameEdit.SetFocus; + raise; + end; + if (Subject.AttributeType = atString) and (Subject.Metadata.Size = 0) then if not Confirm(SConfirmZeroSizeStringAttribute) then begin @@ -502,10 +512,11 @@ end; end; -procedure TInstantAttributeEditorForm.SetSubject( - const Value: TInstantCodeAttribute); +procedure TInstantAttributeEditorForm.SetSubject(const Value: TInstantCodeAttribute); begin inherited Subject := Value; + if FValidator <> nil then + FValidator.FAttribute := Value; end; procedure TInstantAttributeEditorForm.SubjectChanged; @@ -740,10 +751,87 @@ procedure TInstantAttributeEditorForm.StorageNameEditChange(Sender: TObject); begin inherited; - if Assigned(StorageNameEdit.DataSource) then + if Assigned(StorageNameEdit.DataSource) then SubjectExposer.AssignFieldValue(StorageNameEdit.Field, StorageNameEdit.Text); UpdateControls; end; +procedure TInstantAttributeEditorForm.SetValidator(const Value: TInstantAttributeValidator); +begin + if FValidator <> Value then begin + if FValidator <> nil then + FreeAndNil(FValidator); + FValidator := Value; + end; +end; + +{ TInstantAttributeValidator } + +constructor TInstantAttributeValidator.Create( + AnAttribute: TInstantCodeAttribute; const AInterface: IInterface); +begin + inherited Create; + FAttribute := AnAttribute; + FInterface := AInterface; +end; + +procedure TInstantAttributeValidator.Validate; +var + TempAttribute: TInstantCodeAttribute; + CodeClass: TInstantCodeClass; + I: Integer; + + procedure CheckChildClass(CurrentClass: TInstantCodeClass); + var + J,K: Integer; + begin + if CurrentClass = nil then + Exit; + for J := 0 to Pred(CurrentClass.SubClassCount) do + begin + for K := 0 to Pred(CurrentClass.SubClasses[J].PropertyCount) do + if SameText(CurrentClass.SubClasses[J].Properties[K].Name, FAttribute.Name) then + raise Exception.CreateFmt('Attribute "%s" exists in descendant class "%s"', + [FAttribute.Name, CurrentClass.SubClasses[J].Name]); + for K := 0 to Pred(CurrentClass.SubClasses[J].MethodCount) do + if SameText(CurrentClass.SubClasses[J].Methods[K].Name, FAttribute.Name) then + raise Exception.CreateFmt('Attribute "%s" exists as a method in descendant class "%s"', + [FAttribute.Name, CurrentClass.SubClasses[J].Name]); + CheckChildClass(CurrentClass.SubClasses[J]); + end; + end; + +begin + if not Assigned(FAttribute) and not Assigned(FAttribute.Owner) + and not Assigned(FAttribute.Owner.Owner) then + raise Exception.Create('Cannot validate attribute'); + + // check that the same attribute name is not used in an ancestor class + CodeClass := FAttribute.Owner.Owner.BaseClass; + while (CodeClass <> nil) do + begin + for I := 0 to Pred(CodeClass.PropertyCount) do + if SameText(CodeClass.Properties[I].Name, FAttribute.Name) then + raise Exception.CreateFmt('Attribute "%s" exists in ancestor class "%s"', + [FAttribute.Name, CodeClass.Name]); + for I := 0 to Pred(CodeClass.MethodCount) do + if SameText(CodeClass.Methods[I].Name, FAttribute.Name) then + raise Exception.CreateFmt('Attribute "%s" exists as a method in ancestor class "%s"', + [FAttribute.Name, CodeClass.Name]); + CodeClass := CodeClass.BaseClass; + end; + // check that the same attribute name is not used in any child class + CheckChildClass(FAttribute.Owner.Owner); + + if Assigned(FAttribute.Owner) then + for I := 0 to Pred(FAttribute.Owner.AttributeCount) do + begin + TempAttribute := FAttribute.Owner.Attributes[I]; + if (TempAttribute <> FAttribute) and SameText(TempAttribute.Name, FAttribute.Name) then + raise Exception.Create('Attribute Name already used'); + end; +end; + + end. Modified: trunk/Source/ObjectFoundry/OFExpert.pas =================================================================== --- trunk/Source/ObjectFoundry/OFExpert.pas 2006-11-28 07:20:59 UTC (rev 722) +++ trunk/Source/ObjectFoundry/OFExpert.pas 2006-11-28 10:51:28 UTC (rev 723) @@ -24,7 +24,7 @@ * the Initial Developer. All Rights Reserved. * * Contributor(s): - * Steven Mitchell + * Steven Mitchell, David Moorhouse * * ***** END LICENSE BLOCK ***** *) @@ -35,7 +35,7 @@ uses Classes, {$IFDEF VER130} - Windows, // Need in D5 for definition of THandle + Windows, // Need in D5 for definition of THandle {$ENDIF} MMIOAPI, OFOptions, SysUtils, MMToolsAPI, OFDefs; @@ -98,6 +98,13 @@ const SObjectFoundry = 'ObjectFoundry'; +type + TMMAttributeValidator = class(TInstantAttributeValidator) + public + procedure Validate; override; + end; + + // Function externalised from AttributeEditorLoadClasses function. function TObjectFoundryExpert.IsInstantObjectClass(AClass: IMMClassBase): Boolean; @@ -184,6 +191,7 @@ var Attribute: TMMCodeAttribute; lClass: IMMClassifier; + AttributeValidator: TMMAttributeValidator; function GetBaseClassStorageName: String; begin @@ -201,6 +209,7 @@ begin lClass := P.ClassBase; Attribute := TMMCodeAttribute.Create(P); + AttributeValidator := TMMAttributeValidator.Create(Attribute, P); try with TInstantAttributeEditorForm.Create(nil) do try @@ -208,6 +217,7 @@ OnLoadClasses := AttributeEditorLoadClasses; OnIsClassPersistent := ClassIsPersistent; Subject := Attribute; + Validator := AttributeValidator; Result := ShowModal = mrOK; if Result then Attribute.ApplyChanges; @@ -215,6 +225,7 @@ Free; end; finally + AttributeValidator.Free; Attribute.Free; end; end else @@ -577,4 +588,48 @@ end; end; +{ TMMAttributeValidator } + +procedure TMMAttributeValidator.Validate; +var + MMProperty: IMMProperty; + CodeClass: IMMClassifier; + I: Integer; + + procedure CheckChildClass(CurrentClass: IMMClassifier); + var + J: Integer; + begin + if CurrentClass = nil then + Exit; + for J := 0 to Pred(CurrentClass.DescendantCount) do + begin + if CurrentClass.Descendants[J].FindMember(Attribute.Name, I) then + raise Exception.CreateFmt('Attribute "%s" exists in descendant class "%s"', + [Attribute.Name, CurrentClass.Descendants[J].Name]); + CheckChildClass(CurrentClass.Descendants[J]); + end; + end; + +begin + if MMInterface = nil then + Exit; + MMProperty := MMInterface as IMMProperty; + + if MMProperty.ClassBase.FindMember(Attribute.Name, I) then + raise Exception.Create('Attribute Name already used'); + + // check that the same attribute name is not used in an ancestor class + CodeClass := MMProperty.ClassBase; + while (CodeClass <> nil) do + begin + if CodeClass.FindMember(Attribute.Name, I) then + raise Exception.CreateFmt('Attribute "%s" exists in ancestor class "%s"', + [Attribute.Name, CodeClass.Name]); + CodeClass := CodeClass.Ancestor; + end; + // check that the same attribute name is not used in any child class + CheckChildClass(MMProperty.ClassBase); +end; + end. |
From: <fas...@us...> - 2006-12-10 05:19:13
|
Revision: 736 http://svn.sourceforge.net/instantobjects/revision/?rev=736&view=rev Author: fastbike2 Date: 2006-12-09 21:19:12 -0800 (Sat, 09 Dec 2006) Log Message: ----------- Refactored InstantAttributeEditor form to remove exceptions from flow control Parallel changes made to Model Maker object foundry plugin expert. Modified Paths: -------------- trunk/Source/Design/InstantAttributeEditor.pas trunk/Source/ObjectFoundry/OFExpert.pas Modified: trunk/Source/Design/InstantAttributeEditor.pas =================================================================== --- trunk/Source/Design/InstantAttributeEditor.pas 2006-12-08 09:41:29 UTC (rev 735) +++ trunk/Source/Design/InstantAttributeEditor.pas 2006-12-10 05:19:12 UTC (rev 736) @@ -61,12 +61,14 @@ private FAttribute: TInstantCodeAttribute; FInterface: IInterface; + FErrorMsg: string; protected property Attribute: TInstantCodeAttribute read FAttribute; property MMInterface: IInterface read FInterface; + property ErrorMsg: string read FErrorMsg write FErrorMsg; public constructor Create(AnAttribute: TInstantCodeAttribute; const AInterface: IInterface); - procedure Validate; virtual; + function Validate: Boolean; virtual; end; TInstantAttributeEditorForm = class(TInstantEditForm) @@ -412,13 +414,13 @@ if OKButton.CanFocus then OKButton.SetFocus; - try - FValidator.Validate; - except + if not FValidator.Validate then + begin ModalResult := mrNone; PageControl.ActivePage := DefinitionSheet; NameEdit.SetFocus; - raise; + MessageDlg(FValidator.ErrorMsg, mtError, [mbOK], 0); + Abort; end; if (Subject.AttributeType = atString) and (Subject.Metadata.Size = 0) then @@ -427,7 +429,7 @@ ModalResult := mrNone; PageControl.ActivePage := DefinitionSheet; SizeEdit.SetFocus; - Abort; + Exit; end; if ObjectClassEdit.Enabled then @@ -782,7 +784,7 @@ FInterface := AInterface; end; -procedure TInstantAttributeValidator.Validate; +function TInstantAttributeValidator.Validate: Boolean; var TempAttribute: TInstantCodeAttribute; CodeClass: TInstantCodeClass; @@ -797,45 +799,85 @@ for J := 0 to Pred(CurrentClass.SubClassCount) do begin for K := 0 to Pred(CurrentClass.SubClasses[J].PropertyCount) do + begin + if not Result then + Break; if SameText(CurrentClass.SubClasses[J].Properties[K].Name, FAttribute.Name) then - raise Exception.CreateFmt('Attribute "%s" exists in descendant class "%s"', + begin + ErrorMsg := Format('Attribute "%s" exists in descendant class "%s"', [FAttribute.Name, CurrentClass.SubClasses[J].Name]); + Result := False; + end; + end; for K := 0 to Pred(CurrentClass.SubClasses[J].MethodCount) do + begin + if not Result then + Break; if SameText(CurrentClass.SubClasses[J].Methods[K].Name, FAttribute.Name) then - raise Exception.CreateFmt('Attribute "%s" exists as a method in descendant class "%s"', + begin + ErrorMsg := Format('Attribute "%s" exists as a method in descendant class "%s"', [FAttribute.Name, CurrentClass.SubClasses[J].Name]); + Result := False; + end; + end; CheckChildClass(CurrentClass.SubClasses[J]); end; end; begin + Result := True; + ErrorMsg := ''; + if not Assigned(FAttribute) and not Assigned(FAttribute.Owner) and not Assigned(FAttribute.Owner.Owner) then - raise Exception.Create('Cannot validate attribute'); - + begin + ErrorMsg := 'Cannot validate attribute'; + Result := False; + Exit; + end; // check that the same attribute name is not used in an ancestor class CodeClass := FAttribute.Owner.Owner.BaseClass; - while (CodeClass <> nil) do + while (Result) and (CodeClass <> nil) do begin for I := 0 to Pred(CodeClass.PropertyCount) do + begin + if not Result then + Break; if SameText(CodeClass.Properties[I].Name, FAttribute.Name) then - raise Exception.CreateFmt('Attribute "%s" exists in ancestor class "%s"', - [FAttribute.Name, CodeClass.Name]); + begin + ErrorMsg := Format('Attribute "%s" exists in ancestor class "%s"', + [FAttribute.Name, CodeClass.Name]); + Result := False; + end; + end; for I := 0 to Pred(CodeClass.MethodCount) do + begin + if not Result then + Break; if SameText(CodeClass.Methods[I].Name, FAttribute.Name) then - raise Exception.CreateFmt('Attribute "%s" exists as a method in ancestor class "%s"', + begin + ErrorMsg := Format('Attribute "%s" exists as a method in ancestor class "%s"', [FAttribute.Name, CodeClass.Name]); + Result := False; + end; + end; CodeClass := CodeClass.BaseClass; end; // check that the same attribute name is not used in any child class - CheckChildClass(FAttribute.Owner.Owner); + if Result then + CheckChildClass(FAttribute.Owner.Owner); - if Assigned(FAttribute.Owner) then + if Result and Assigned(FAttribute.Owner) then for I := 0 to Pred(FAttribute.Owner.AttributeCount) do begin + if not Result then + Break; TempAttribute := FAttribute.Owner.Attributes[I]; if (TempAttribute <> FAttribute) and SameText(TempAttribute.Name, FAttribute.Name) then - raise Exception.Create('Attribute Name already used'); + begin + ErrorMsg := 'Attribute Name already used'; + Result := False; + end; end; end; Modified: trunk/Source/ObjectFoundry/OFExpert.pas =================================================================== --- trunk/Source/ObjectFoundry/OFExpert.pas 2006-12-08 09:41:29 UTC (rev 735) +++ trunk/Source/ObjectFoundry/OFExpert.pas 2006-12-10 05:19:12 UTC (rev 736) @@ -103,7 +103,7 @@ type TMMAttributeValidator = class(TInstantAttributeValidator) public - procedure Validate; override; + function Validate: Boolean; override; end; @@ -604,7 +604,7 @@ { TMMAttributeValidator } -procedure TMMAttributeValidator.Validate; +function TMMAttributeValidator.Validate: Boolean; var MMProperty: IMMProperty; CodeClass: IMMClassifier; @@ -618,14 +618,22 @@ Exit; for J := 0 to Pred(CurrentClass.DescendantCount) do begin + if not Result then + Break; if CurrentClass.Descendants[J].FindMember(Attribute.Name, I) then - raise Exception.CreateFmt('Attribute "%s" exists in descendant class "%s"', + begin + ErrorMsg := Format('Attribute "%s" exists in descendant class "%s"', [Attribute.Name, CurrentClass.Descendants[J].Name]); + Result := False; + end; CheckChildClass(CurrentClass.Descendants[J]); end; end; begin + Result := True; + ErrorMsg := ''; + if MMInterface = nil then Exit; MMProperty := MMInterface as IMMProperty; @@ -638,19 +646,26 @@ // check that the new attribute name is not used in parent class // except by itself if CodeClass.FindMember(Attribute.Name, I) and - (CodeClass.Members[I] <> MMProperty) then - raise Exception.Create('Attribute Name already used'); + (CodeClass.Members[I] <> MMProperty) then + begin + ErrorMsg := 'Attribute Name already used'; + Result := False; + end; // check that the new attribute name is not used in any child class - CheckChildClass(CodeClass); + if Result then + CheckChildClass(CodeClass); // check that the new attribute name is not used in an ancestor class CodeClass := CodeClass.Ancestor; - while (CodeClass <> nil) do + while Result and (CodeClass <> nil) do begin if CodeClass.FindMember(Attribute.Name, I) then - raise Exception.CreateFmt('Attribute "%s" exists in ancestor class "%s"', + begin + ErrorMsg := Format('Attribute "%s" exists in ancestor class "%s"', [Attribute.Name, CodeClass.Name]); + Result := False; + end; CodeClass := CodeClass.Ancestor; end; end; |
From: <na...@us...> - 2007-01-16 23:13:24
|
Revision: 752 http://svn.sourceforge.net/instantobjects/revision/?rev=752&view=rev Author: nandod Date: 2007-01-16 14:57:40 -0800 (Tue, 16 Jan 2007) Log Message: ----------- * moved InstantLogProc from InstantPersistence to InstantBrokers, where it is used. + added ability to disable circular reference checking by undefining IO_CIRCULAR_REFERENCE_CHECK * documented the available IO_* defines in InstantDefines.inc. * FreeCircularReferences slightly optimized. Modified Paths: -------------- trunk/Source/Core/InstantBrokers.pas trunk/Source/Core/InstantPersistence.pas trunk/Source/InstantDefines.inc Modified: trunk/Source/Core/InstantBrokers.pas =================================================================== --- trunk/Source/Core/InstantBrokers.pas 2007-01-16 17:09:37 UTC (rev 751) +++ trunk/Source/Core/InstantBrokers.pas 2007-01-16 22:57:40 UTC (rev 752) @@ -967,6 +967,9 @@ default True; end; +var + InstantLogProc: procedure (const AString: string) of object; + implementation uses Modified: trunk/Source/Core/InstantPersistence.pas =================================================================== --- trunk/Source/Core/InstantPersistence.pas 2007-01-16 17:09:37 UTC (rev 751) +++ trunk/Source/Core/InstantPersistence.pas 2007-01-16 22:57:40 UTC (rev 752) @@ -796,7 +796,9 @@ procedure DoStore(ConflictAction: TInstantConflictAction); procedure DoUnchange; function FindDefaultContainer: TInstantContainer; +{$IFDEF IO_CIRCULAR_REFERENCE_CHECK} procedure FreeCircularReferences; +{$ENDIF} function GetClassId: string; function GetDefaultContainer: TInstantContainer; function GetHasDefaultContainer: Boolean; @@ -1581,9 +1583,6 @@ InstantClassPrefix: string = 'T'; InstantAttributePrefix: string = '_'; -var - InstantLogProc: procedure (const AString: string) of object; - implementation uses @@ -6059,6 +6058,7 @@ DestroyInternalFields; end; +{$IFDEF IO_CIRCULAR_REFERENCE_CHECK} procedure TInstantObject.FreeCircularReferences; var CheckedObjects: TObjectList; @@ -6114,27 +6114,35 @@ I: Integer; begin if RefByCount = RefCount - 1 then - for I := Pred(RefByCount) downto 0 do - begin - CheckedObjects := TObjectList.Create(False); - try + begin + CheckedObjects := TObjectList.Create(False); + try + for I := Pred(RefByCount) downto 0 do + begin if (FRefBy[I] is TInstantComplex) and IsInsideCircularReference(TInstantComplex(FRefBy[I])) then + begin case TInstantComplex(FRefBy[I]).AttributeType of atReference: TInstantReference(FRefBy[I]).ObjectReference.DestroyInstance; atReferences: TInstantReferences(FRefBy[I]).DestroyObject(Self); end; - finally - CheckedObjects.Free; + end; + CheckedObjects.Clear; end; + finally + CheckedObjects.Free; end; + end; end; +{$ENDIF} procedure TInstantObject.FreeInstance; begin +{$IFDEF IO_CIRCULAR_REFERENCE_CHECK} FreeCircularReferences; +{$ENDIF} DoRelease; if FRefCount = 0 then try @@ -6779,7 +6787,9 @@ function TInstantObject._Release: Integer; begin +{$IFDEF IO_CIRCULAR_REFERENCE_CHECK} FreeCircularReferences; +{$ENDIF} Result := DoRelease; if FRefCount = 0 then try Modified: trunk/Source/InstantDefines.inc =================================================================== --- trunk/Source/InstantDefines.inc 2007-01-16 17:09:37 UTC (rev 751) +++ trunk/Source/InstantDefines.inc 2007-01-16 22:57:40 UTC (rev 752) @@ -114,3 +114,21 @@ {$WARN UNSAFE_CAST OFF} {$ENDIF} +{ + Define this symbol to enable logging of all SQL statements to the debug + console (via OutputDebugString - only on Windows) and to the procedure + pointed by the InstantBrokers.InstantLogProc global variable. +} +{.$DEFINE IO_STATEMENT_LOGGING} + +{ + Whenever a TInstantObject is destroyed, a check is performed to see if there + are any objects that circularly refer to it, which should be destroyed as + well. If you are sure that your object model doesn't allow circular + references (as is the case with many object models, especially simple ones), + you can undefine this symbol to gain a little speed in programs that create + and destroy large quantities of objects. +} +{$DEFINE IO_CIRCULAR_REFERENCE_CHECK} + + |
From: <sr...@us...> - 2007-02-01 03:39:42
|
Revision: 756 http://svn.sourceforge.net/instantobjects/revision/?rev=756&view=rev Author: srmitch Date: 2007-01-31 19:39:40 -0800 (Wed, 31 Jan 2007) Log Message: ----------- D5 compatibility fixes: - The recent additions for TInstantDate and TInstantTime have broken IO for Delphi 5. The problem arises because the 'DateUtils.pas' unit was not introduced until D6 so we need alternative support for the 'DateOf' and 'TimeOf' functions used in the 'InstantPersistence.pas' and 'InstantBrokers.pas' units. - The recent fix to prevent duplicate attribute names has broken IO for Delphi 5. The main problem is that there is no 'IInterface'. 'IInterface' was not introduced until D6. Modified Paths: -------------- trunk/Source/Core/InstantBrokers.pas trunk/Source/Core/InstantPersistence.pas trunk/Source/Core/InstantTypes.pas trunk/Source/Core/InstantUtils.pas trunk/Source/Design/InstantAttributeEditor.pas Modified: trunk/Source/Core/InstantBrokers.pas =================================================================== --- trunk/Source/Core/InstantBrokers.pas 2007-01-22 12:50:17 UTC (rev 755) +++ trunk/Source/Core/InstantBrokers.pas 2007-02-01 03:39:40 UTC (rev 756) @@ -981,8 +981,8 @@ {$ENDIF} {$IFDEF D6+} Variants, + DateUtils, {$ENDIF} - DateUtils, TypInfo, InstantUtils, InstantRtti; const Modified: trunk/Source/Core/InstantPersistence.pas =================================================================== --- trunk/Source/Core/InstantPersistence.pas 2007-01-22 12:50:17 UTC (rev 755) +++ trunk/Source/Core/InstantPersistence.pas 2007-02-01 03:39:40 UTC (rev 756) @@ -1596,10 +1596,10 @@ {$IFDEF D6+} MaskUtils, Variants, + DateUtils, {$ELSE} Mask, {$ENDIF} - DateUtils, InstantUtils, {InstantRtti, }InstantDesignHook, InstantCode; var Modified: trunk/Source/Core/InstantTypes.pas =================================================================== --- trunk/Source/Core/InstantTypes.pas 2007-01-22 12:50:17 UTC (rev 755) +++ trunk/Source/Core/InstantTypes.pas 2007-02-01 03:39:40 UTC (rev 756) @@ -41,6 +41,11 @@ interface type + {$IFNDEF D6+} + IInterface = interface (IUnknown) + end; + {$ENDIF} + TInstantStorageKind = (skEmbedded, skExternal); TInstantAttributeType = (atUnknown, atInteger, atFloat, atCurrency, atBoolean, atString, atDateTime, atBlob, atMemo, atGraphic, Modified: trunk/Source/Core/InstantUtils.pas =================================================================== --- trunk/Source/Core/InstantUtils.pas 2007-01-22 12:50:17 UTC (rev 755) +++ trunk/Source/Core/InstantUtils.pas 2007-02-01 03:39:40 UTC (rev 756) @@ -87,6 +87,11 @@ function InstantStrToTime(const Str: string): TDateTime; function InstantUnquote(const Str: string; Quote: Char): string; +{$IFDEF D5} +function DateOf(const AValue: TDateTime): TDateTime; +function TimeOf(const AValue: TDateTime): TDateTime; +{$ENDIF} + implementation uses @@ -603,4 +608,16 @@ Result := AnsiExtractQuotedStr(S, Quote); end; +{$IFDEF D5} +function DateOf(const AValue: TDateTime): TDateTime; +begin + Result := Trunc(AValue); +end; + +function TimeOf(const AValue: TDateTime): TDateTime; +begin + Result := Frac(AValue); +end; +{$ENDIF} + end. Modified: trunk/Source/Design/InstantAttributeEditor.pas =================================================================== --- trunk/Source/Design/InstantAttributeEditor.pas 2007-01-22 12:50:17 UTC (rev 755) +++ trunk/Source/Design/InstantAttributeEditor.pas 2007-02-01 03:39:40 UTC (rev 756) @@ -48,7 +48,7 @@ {$IFDEF LINUX} QImgList, QStdCtrls, QDBCtrls, QMask, QControls, QComCtrls, QExtCtrls, {$ENDIF} - InstantPresentation; + InstantPresentation, InstantTypes; type TInstantStringsEvent = procedure(Sender: TObject; Items: TStrings; @@ -175,7 +175,7 @@ uses InstantRtti, InstantPersistence, InstantDesignUtils, InstantImageUtils, - InstantClasses, InstantMetadata, InstantTypes; + InstantClasses, InstantMetadata; {$R *.dfm} |
From: <fas...@us...> - 2007-04-24 10:40:26
|
Revision: 774 http://svn.sourceforge.net/instantobjects/revision/?rev=774&view=rev Author: fastbike2 Date: 2007-04-24 03:40:25 -0700 (Tue, 24 Apr 2007) Log Message: ----------- Added new MySQL Catalog Included ZEOS Broker in D7 and D2007 packages Modified ZEOS code for compatibility with D2006+ Updated ZEOS code to reflect previous refactoring (MetaData, Types) Modified Paths: -------------- trunk/Source/Brokers/DBX/D7/IODBX.dpk trunk/Source/Brokers/DBX/InstantDBX.pas trunk/Source/Brokers/ZeosDBO/InstantZeosDBO.pas trunk/Source/Brokers/ZeosDBO/InstantZeosDBOCatalog.pas trunk/Source/Brokers/ZeosDBO/InstantZeosDBOConnectionDefEdit.pas trunk/Source/PackageGroups/D2007/AllPackages.groupproj trunk/Source/PackageGroups/D2007/DesignTimePackages.groupproj trunk/Source/PackageGroups/D2007/RunTimePackages.groupproj trunk/Source/PackageGroups/D7/DesignTimePackages.bpg trunk/Source/PackageGroups/D7/RunTimePackages.bpg Modified: trunk/Source/Brokers/DBX/D7/IODBX.dpk =================================================================== --- trunk/Source/Brokers/DBX/D7/IODBX.dpk 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/Brokers/DBX/D7/IODBX.dpk 2007-04-24 10:40:25 UTC (rev 774) @@ -1,7 +1,6 @@ package IODBX; {$R *.res} - {$ALIGN 8} {$ASSERTIONS ON} {$BOOLEVAL OFF} @@ -35,7 +34,8 @@ dbexpress, IOCore, IOIBFbCatalog, - IOMSSqlCatalog; + IOMSSqlCatalog, + IOMySQLCatalog; contains InstantDBXConnectionDefEdit in '..\InstantDBXConnectionDefEdit.pas' {InstantDBXConnectionDefEditForm}, Modified: trunk/Source/Brokers/DBX/InstantDBX.pas =================================================================== --- trunk/Source/Brokers/DBX/InstantDBX.pas 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/Brokers/DBX/InstantDBX.pas 2007-04-24 10:40:25 UTC (rev 774) @@ -216,13 +216,16 @@ function ColumnTypeByDataType(DataType: TInstantDataType): string; override; function GetDBMSName: string; override; function GetSQLQuote: Char; override; + function CreateCatalog(const AScheme: TInstantScheme): TInstantCatalog; override; + public + function DataTypeToColumnType(DataType: TInstantDataType; Size: Integer): string; override; end; implementation uses SysUtils, InstantDBXConnectionDefEdit, InstantUtils, InstantConsts, Math, - InstantDBBuild, InstantIBFbCatalog, InstantMSSqlCatalog; + InstantDBBuild, InstantIBFbCatalog, InstantMSSqlCatalog, InstantMySQLCatalog; { TInstantDBXConnector } @@ -285,7 +288,14 @@ procedure TInstantDBXConnector.InternalBuildDatabase(Scheme: TInstantScheme); begin - inherited; + StartTransaction; + try + inherited; + CommitTransaction; + except + RollbackTransaction; + raise; + end; end; procedure TInstantDBXConnector.InternalCommitTransaction; @@ -755,6 +765,20 @@ Result := Types[DataType]; end; +function TInstantDBXMySQLBroker.CreateCatalog( + const AScheme: TInstantScheme): TInstantCatalog; +begin + Result := TInstantMySQLCatalog.Create(AScheme, Self); +end; + +function TInstantDBXMySQLBroker.DataTypeToColumnType(DataType: TInstantDataType; + Size: Integer): string; +begin + if (DataType = dtString) and (Size > 255) then + DataType := dtMemo; + Result := inherited DataTypeToColumnType(DataType, Size); +end; + function TInstantDBXMySQLBroker.GetDBMSName: string; begin Result := 'MySQL'; Modified: trunk/Source/Brokers/ZeosDBO/InstantZeosDBO.pas =================================================================== --- trunk/Source/Brokers/ZeosDBO/InstantZeosDBO.pas 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/Brokers/ZeosDBO/InstantZeosDBO.pas 2007-04-24 10:40:25 UTC (rev 774) @@ -49,7 +49,9 @@ interface uses - Classes, Db, InstantPersistence, InstantCommand, InstantDBBuild, ZConnection; + Classes, Db, InstantPersistence, InstantCommand, InstantDBBuild, InstantBrokers, + InstantMetadata, InstantTypes, ZConnection + {$IFDEF D10+}, DBCommonTypes{$ENDIF}; type TInstantZeosDBOConnectionDef = class(TInstantRelationalConnectionDef) @@ -907,7 +909,9 @@ 'VARCHAR', 'TEXT', 'DATETIME', - 'IMAGE'); + 'IMAGE', + 'DATETIME', + 'DATETIME'); begin Result := Types[DataType]; end; @@ -932,7 +936,9 @@ 'VARCHAR', 'TEXT', 'DATETIME', - 'IMAGE'); + 'IMAGE', + 'DATETIME', + 'DATETIME'); begin Result := Types[DataType]; end; @@ -982,7 +988,9 @@ 'VARCHAR', 'BLOB SUB_TYPE 1', 'TIMESTAMP', - 'BLOB'); + 'BLOB', + 'TIMESTAMP', + 'TIMESTAMP'); begin Result := Types[DataType]; end; @@ -1012,7 +1020,9 @@ 'VARCHAR2', 'CLOB', 'DATE', - 'BLOB'); + 'BLOB', + 'DATE', + 'DATE'); begin Result := Types[DataType]; end; @@ -1037,7 +1047,9 @@ 'VARCHAR', 'TEXT', 'TIMESTAMP', - 'BYTEA'); + 'BYTEA', + 'TIMESTAMP', + 'TIMESTAMP'); begin Result := Types[DataType]; end; @@ -1105,7 +1117,9 @@ 'VARCHAR', 'TEXT', 'DATETIME', - 'BLOB'); + 'BLOB', + 'DATE', + 'TIME'); begin Result := Types[DataType]; end; @@ -1342,7 +1356,9 @@ 'VARCHAR', 'TEXT', 'TIMESTAMP', - 'BLOB'); + 'BLOB', + 'TIMESTAMP', + 'TIMESTAMP'); begin Result := Types[DataType]; end; Modified: trunk/Source/Brokers/ZeosDBO/InstantZeosDBOCatalog.pas =================================================================== --- trunk/Source/Brokers/ZeosDBO/InstantZeosDBOCatalog.pas 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/Brokers/ZeosDBO/InstantZeosDBOCatalog.pas 2007-04-24 10:40:25 UTC (rev 774) @@ -39,7 +39,8 @@ interface uses - DB, ZDbcIntfs, InstantPersistence, InstantZeosDBO; + DB, ZDbcIntfs, InstantPersistence, InstantZeosDBO, InstantBrokers, + InstantMetadata, InstantTypes; type // A TInstantCatalog that reads catalog information from a ZeosDBO Modified: trunk/Source/Brokers/ZeosDBO/InstantZeosDBOConnectionDefEdit.pas =================================================================== --- trunk/Source/Brokers/ZeosDBO/InstantZeosDBOConnectionDefEdit.pas 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/Brokers/ZeosDBO/InstantZeosDBOConnectionDefEdit.pas 2007-04-24 10:40:25 UTC (rev 774) @@ -89,7 +89,7 @@ {$R *.dfm} uses - InstantPersistence, InstantClasses; + InstantPersistence, InstantClasses, InstantTypes; { TInstantZeosDBOConnectionDefEditForm } Modified: trunk/Source/PackageGroups/D2007/AllPackages.groupproj =================================================================== --- trunk/Source/PackageGroups/D2007/AllPackages.groupproj 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/PackageGroups/D2007/AllPackages.groupproj 2007-04-24 10:40:25 UTC (rev 774) @@ -1,4 +1,4 @@ -<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <ProjectGuid>{b0beaee6-5b6a-420d-a1e5-7be9568cd5a2}</ProjectGuid> </PropertyGroup> @@ -12,179 +12,164 @@ </ProjectExtensions> <Target Name="IOCore"> <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="" /> - <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="" /> </Target> <Target Name="IOCore:Clean"> <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Clean" /> </Target> - <Target Name="IOCore:Rebuild"> - <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Rebuild" /> + <Target Name="IOCore:Make"> + <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Make" /> </Target> <Target Name="IOIBFbCatalog"> <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="" /> - <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="" /> </Target> <Target Name="IOIBFbCatalog:Clean"> <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Clean" /> </Target> - <Target Name="IOIBFbCatalog:Rebuild"> - <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Rebuild" /> + <Target Name="IOIBFbCatalog:Make"> + <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Make" /> </Target> <Target Name="IOMSSqlCatalog"> <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="" /> - <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="" /> </Target> <Target Name="IOMSSqlCatalog:Clean"> <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Clean" /> </Target> - <Target Name="IOMSSqlCatalog:Rebuild"> - <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Rebuild" /> + <Target Name="IOMSSqlCatalog:Make"> + <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Make" /> </Target> + <Target Name="IOMySQLCatalog"> + <MSBuild Projects="..\..\Catalogs\MySQL\D2007\IOMySQLCatalog.dproj" Targets="" /> + </Target> + <Target Name="IOMySQLCatalog:Clean"> + <MSBuild Projects="..\..\Catalogs\MySQL\D2007\IOMySQLCatalog.dproj" Targets="Clean" /> + </Target> + <Target Name="IOMySQLCatalog:Make"> + <MSBuild Projects="..\..\Catalogs\MySQL\D2007\IOMySQLCatalog.dproj" Targets="Make" /> + </Target> <Target Name="IOADO"> <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="" /> </Target> <Target Name="IOADO:Clean"> <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Clean" /> </Target> - <Target Name="IOADO:Rebuild"> - <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Rebuild" /> + <Target Name="IOADO:Make"> + <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Make" /> </Target> <Target Name="IOBDE"> <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="" /> </Target> <Target Name="IOBDE:Clean"> <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Clean" /> </Target> - <Target Name="IOBDE:Rebuild"> - <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Rebuild" /> + <Target Name="IOBDE:Make"> + <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Make" /> </Target> <Target Name="IODBX"> <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="" /> </Target> <Target Name="IODBX:Clean"> <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Clean" /> </Target> - <Target Name="IODBX:Rebuild"> - <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Rebuild" /> + <Target Name="IODBX:Make"> + <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Make" /> </Target> <Target Name="IOIBX"> <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="" /> </Target> <Target Name="IOIBX:Clean"> <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Clean" /> </Target> - <Target Name="IOIBX:Rebuild"> - <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Rebuild" /> + <Target Name="IOIBX:Make"> + <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Make" /> </Target> <Target Name="IOXML"> <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="" /> </Target> <Target Name="IOXML:Clean"> <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Clean" /> </Target> - <Target Name="IOXML:Rebuild"> - <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Rebuild" /> + <Target Name="IOXML:Make"> + <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Make" /> </Target> + <Target Name="IOZeosDBO"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="" /> + </Target> + <Target Name="IOZeosDBO:Clean"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="Clean" /> + </Target> + <Target Name="IOZeosDBO:Make"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="Make" /> + </Target> <Target Name="DclIOCore"> <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="" /> - <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="" /> </Target> <Target Name="DclIOCore:Clean"> <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOCore:Rebuild"> - <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Rebuild" /> + <Target Name="DclIOCore:Make"> + <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Make" /> </Target> <Target Name="DclIOADO"> <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="" /> </Target> <Target Name="DclIOADO:Clean"> <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOADO:Rebuild"> - <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Rebuild" /> + <Target Name="DclIOADO:Make"> + <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Make" /> </Target> <Target Name="DclIOBDE"> <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="" /> </Target> <Target Name="DclIOBDE:Clean"> <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOBDE:Rebuild"> - <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Rebuild" /> + <Target Name="DclIOBDE:Make"> + <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Make" /> </Target> <Target Name="DclIODBX"> <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="" /> </Target> <Target Name="DclIODBX:Clean"> <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Clean" /> </Target> - <Target Name="DclIODBX:Rebuild"> - <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Rebuild" /> + <Target Name="DclIODBX:Make"> + <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Make" /> </Target> <Target Name="DclIOIBX"> <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="" /> </Target> <Target Name="DclIOIBX:Clean"> <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOIBX:Rebuild"> - <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Rebuild" /> + <Target Name="DclIOIBX:Make"> + <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Make" /> </Target> <Target Name="DclIOXML"> <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="" /> </Target> <Target Name="DclIOXML:Clean"> <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOXML:Rebuild"> - <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Rebuild" /> + <Target Name="DclIOXML:Make"> + <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Make" /> </Target> + <Target Name="DclIOZeosDBO"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\DclIOZeosDBO.dproj" Targets="" /> + </Target> + <Target Name="DclIOZeosDBO:Clean"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\DclIOZeosDBO.dproj" Targets="Clean" /> + </Target> + <Target Name="DclIOZeosDBO:Make"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\DclIOZeosDBO.dproj" Targets="Make" /> + </Target> <Target Name="Build"> - <CallTarget Targets="IOCore;IOIBFbCatalog;IOMSSqlCatalog;IOADO;IOBDE;IODBX;IOIBX;IOXML;DclIOCore;DclIOADO;DclIOBDE;DclIODBX;DclIOIBX;DclIOXML" /> + <CallTarget Targets="IOCore;IOIBFbCatalog;IOMSSqlCatalog;IOMySQLCatalog;IOADO;IOBDE;IODBX;IOIBX;IOXML;IOZeosDBO;DclIOCore;DclIOADO;DclIOBDE;DclIODBX;DclIOIBX;DclIOXML;DclIOZeosDBO" /> </Target> <Target Name="Clean"> - <CallTarget Targets="IOCore:Clean;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOADO:Clean;IOBDE:Clean;IODBX:Clean;IOIBX:Clean;IOXML:Clean;DclIOCore:Clean;DclIOADO:Clean;DclIOBDE:Clean;DclIODBX:Clean;DclIOIBX:Clean;DclIOXML:Clean" /> + <CallTarget Targets="IOCore:Clean;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOMySQLCatalog:Clean;IOADO:Clean;IOBDE:Clean;IODBX:Clean;IOIBX:Clean;IOXML:Clean;IOZeosDBO:Clean;DclIOCore:Clean;DclIOADO:Clean;DclIOBDE:Clean;DclIODBX:Clean;DclIOIBX:Clean;DclIOXML:Clean;DclIOZeosDBO:Clean" /> </Target> - <Target Name="Rebuild"> - <CallTarget Targets="IOCore:Rebuild;IOIBFbCatalog:Rebuild;IOMSSqlCatalog:Rebuild;IOADO:Rebuild;IOBDE:Rebuild;IODBX:Rebuild;IOIBX:Rebuild;IOXML:Rebuild;DclIOCore:Rebuild;DclIOADO:Rebuild;DclIOBDE:Rebuild;DclIODBX:Rebuild;DclIOIBX:Rebuild;DclIOXML:Rebuild" /> + <Target Name="Make"> + <CallTarget Targets="IOCore:Make;IOIBFbCatalog:Make;IOMSSqlCatalog:Make;IOMySQLCatalog:Make;IOADO:Make;IOBDE:Make;IODBX:Make;IOIBX:Make;IOXML:Make;IOZeosDBO:Make;DclIOCore:Make;DclIOADO:Make;DclIOBDE:Make;DclIODBX:Make;DclIOIBX:Make;DclIOXML:Make;DclIOZeosDBO:Make" /> </Target> </Project> \ No newline at end of file Modified: trunk/Source/PackageGroups/D2007/DesignTimePackages.groupproj =================================================================== --- trunk/Source/PackageGroups/D2007/DesignTimePackages.groupproj 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/PackageGroups/D2007/DesignTimePackages.groupproj 2007-04-24 10:40:25 UTC (rev 774) @@ -12,83 +12,74 @@ </ProjectExtensions> <Target Name="DclIOCore"> <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="" /> - <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="" /> </Target> <Target Name="DclIOCore:Clean"> <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOCore:Rebuild"> - <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Rebuild" /> + <Target Name="DclIOCore:Make"> + <MSBuild Projects="..\..\Design\D2007\DclIOCore.dproj" Targets="Make" /> </Target> <Target Name="DclIOADO"> <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="" /> </Target> <Target Name="DclIOADO:Clean"> <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOADO:Rebuild"> - <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Rebuild" /> + <Target Name="DclIOADO:Make"> + <MSBuild Projects="..\..\Brokers\ADO\D2007\DclIOADO.dproj" Targets="Make" /> </Target> <Target Name="DclIOBDE"> <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="" /> </Target> <Target Name="DclIOBDE:Clean"> <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOBDE:Rebuild"> - <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Rebuild" /> + <Target Name="DclIOBDE:Make"> + <MSBuild Projects="..\..\Brokers\BDE\D2007\DclIOBDE.dproj" Targets="Make" /> </Target> <Target Name="DclIODBX"> <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="" /> </Target> <Target Name="DclIODBX:Clean"> <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Clean" /> </Target> - <Target Name="DclIODBX:Rebuild"> - <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Rebuild" /> + <Target Name="DclIODBX:Make"> + <MSBuild Projects="..\..\Brokers\DBX\D2007\DclIODBX.dproj" Targets="Make" /> </Target> <Target Name="DclIOIBX"> <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="" /> </Target> <Target Name="DclIOIBX:Clean"> <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOIBX:Rebuild"> - <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Rebuild" /> + <Target Name="DclIOIBX:Make"> + <MSBuild Projects="..\..\Brokers\IBX\D2007\DclIOIBX.dproj" Targets="Make" /> </Target> <Target Name="DclIOXML"> <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="" /> </Target> <Target Name="DclIOXML:Clean"> <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Clean" /> </Target> - <Target Name="DclIOXML:Rebuild"> - <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Rebuild" /> + <Target Name="DclIOXML:Make"> + <MSBuild Projects="..\..\Brokers\XML\D2007\DclIOXML.dproj" Targets="Make" /> </Target> + <Target Name="DclIOZeosDBO"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\DclIOZeosDBO.dproj" Targets="" /> + </Target> + <Target Name="DclIOZeosDBO:Clean"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\DclIOZeosDBO.dproj" Targets="Clean" /> + </Target> + <Target Name="DclIOZeosDBO:Make"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\DclIOZeosDBO.dproj" Targets="Make" /> + </Target> <Target Name="Build"> - <CallTarget Targets="DclIOCore;DclIOADO;DclIOBDE;DclIODBX;DclIOIBX;DclIOXML" /> + <CallTarget Targets="DclIOCore;DclIOADO;DclIOBDE;DclIODBX;DclIOIBX;DclIOXML;DclIOZeosDBO" /> </Target> <Target Name="Clean"> - <CallTarget Targets="DclIOCore:Clean;DclIOADO:Clean;DclIOBDE:Clean;DclIODBX:Clean;DclIOIBX:Clean;DclIOXML:Clean" /> + <CallTarget Targets="DclIOCore:Clean;DclIOADO:Clean;DclIOBDE:Clean;DclIODBX:Clean;DclIOIBX:Clean;DclIOXML:Clean;DclIOZeosDBO:Clean" /> </Target> - <Target Name="Rebuild"> - <CallTarget Targets="DclIOCore:Rebuild;DclIOADO:Rebuild;DclIOBDE:Rebuild;DclIODBX:Rebuild;DclIOIBX:Rebuild;DclIOXML:Rebuild" /> + <Target Name="Make"> + <CallTarget Targets="DclIOCore:Make;DclIOADO:Make;DclIOBDE:Make;DclIODBX:Make;DclIOIBX:Make;DclIOXML:Make;DclIOZeosDBO:Make" /> </Target> </Project> \ No newline at end of file Modified: trunk/Source/PackageGroups/D2007/RunTimePackages.groupproj =================================================================== --- trunk/Source/PackageGroups/D2007/RunTimePackages.groupproj 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/PackageGroups/D2007/RunTimePackages.groupproj 2007-04-24 10:40:25 UTC (rev 774) @@ -12,107 +12,101 @@ </ProjectExtensions> <Target Name="IOCore"> <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="" /> - <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="" /> </Target> <Target Name="IOCore:Clean"> <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Clean" /> </Target> - <Target Name="IOCore:Rebuild"> - <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Rebuild" /> + <Target Name="IOCore:Make"> + <MSBuild Projects="..\..\Core\D2007\IOCore.dproj" Targets="Make" /> </Target> <Target Name="IOIBFbCatalog"> <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="" /> - <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="" /> </Target> <Target Name="IOIBFbCatalog:Clean"> <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Clean" /> </Target> - <Target Name="IOIBFbCatalog:Rebuild"> - <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Rebuild" /> + <Target Name="IOIBFbCatalog:Make"> + <MSBuild Projects="..\..\Catalogs\IBFb\D2007\IOIBFbCatalog.dproj" Targets="Make" /> </Target> <Target Name="IOMSSqlCatalog"> <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="" /> - <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="" /> </Target> <Target Name="IOMSSqlCatalog:Clean"> <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Clean" /> </Target> - <Target Name="IOMSSqlCatalog:Rebuild"> - <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Rebuild" /> + <Target Name="IOMSSqlCatalog:Make"> + <MSBuild Projects="..\..\Catalogs\MSSql\D2007\IOMSSqlCatalog.dproj" Targets="Make" /> </Target> + <Target Name="IOMySQLCatalog"> + <MSBuild Projects="..\..\Catalogs\MySQL\D2007\IOMySQLCatalog.dproj" Targets="" /> + </Target> + <Target Name="IOMySQLCatalog:Clean"> + <MSBuild Projects="..\..\Catalogs\MySQL\D2007\IOMySQLCatalog.dproj" Targets="Clean" /> + </Target> + <Target Name="IOMySQLCatalog:Make"> + <MSBuild Projects="..\..\Catalogs\MySQL\D2007\IOMySQLCatalog.dproj" Targets="Make" /> + </Target> <Target Name="IOADO"> <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="" /> </Target> <Target Name="IOADO:Clean"> <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Clean" /> </Target> - <Target Name="IOADO:Rebuild"> - <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Rebuild" /> + <Target Name="IOADO:Make"> + <MSBuild Projects="..\..\Brokers\ADO\D2007\IOADO.dproj" Targets="Make" /> </Target> <Target Name="IOBDE"> <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="" /> </Target> <Target Name="IOBDE:Clean"> <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Clean" /> </Target> - <Target Name="IOBDE:Rebuild"> - <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Rebuild" /> + <Target Name="IOBDE:Make"> + <MSBuild Projects="..\..\Brokers\BDE\D2007\IOBDE.dproj" Targets="Make" /> </Target> <Target Name="IODBX"> <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="" /> </Target> <Target Name="IODBX:Clean"> <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Clean" /> </Target> - <Target Name="IODBX:Rebuild"> - <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Rebuild" /> + <Target Name="IODBX:Make"> + <MSBuild Projects="..\..\Brokers\DBX\D2007\IODBX.dproj" Targets="Make" /> </Target> <Target Name="IOIBX"> <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="" /> </Target> <Target Name="IOIBX:Clean"> <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Clean" /> </Target> - <Target Name="IOIBX:Rebuild"> - <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Rebuild" /> + <Target Name="IOIBX:Make"> + <MSBuild Projects="..\..\Brokers\IBX\D2007\IOIBX.dproj" Targets="Make" /> </Target> <Target Name="IOXML"> <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="" /> </Target> <Target Name="IOXML:Clean"> <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Clean" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Clean" /> </Target> - <Target Name="IOXML:Rebuild"> - <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Rebuild" /> - <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Rebuild" /> + <Target Name="IOXML:Make"> + <MSBuild Projects="..\..\Brokers\XML\D2007\IOXML.dproj" Targets="Make" /> </Target> + <Target Name="IOZeosDBO"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="" /> + </Target> + <Target Name="IOZeosDBO:Clean"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="Clean" /> + </Target> + <Target Name="IOZeosDBO:Make"> + <MSBuild Projects="..\..\Brokers\ZeosDBO\D2007\IOZeosDBO.dproj" Targets="Make" /> + </Target> <Target Name="Build"> - <CallTarget Targets="IOCore;IOIBFbCatalog;IOMSSqlCatalog;IOADO;IOBDE;IODBX;IOIBX;IOXML" /> + <CallTarget Targets="IOCore;IOIBFbCatalog;IOMSSqlCatalog;IOMySQLCatalog;IOADO;IOBDE;IODBX;IOIBX;IOXML;IOZeosDBO" /> </Target> <Target Name="Clean"> - <CallTarget Targets="IOCore:Clean;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOADO:Clean;IOBDE:Clean;IODBX:Clean;IOIBX:Clean;IOXML:Clean" /> + <CallTarget Targets="IOCore:Clean;IOIBFbCatalog:Clean;IOMSSqlCatalog:Clean;IOMySQLCatalog:Clean;IOADO:Clean;IOBDE:Clean;IODBX:Clean;IOIBX:Clean;IOXML:Clean;IOZeosDBO:Clean" /> </Target> - <Target Name="Rebuild"> - <CallTarget Targets="IOCore:Rebuild;IOIBFbCatalog:Rebuild;IOMSSqlCatalog:Rebuild;IOADO:Rebuild;IOBDE:Rebuild;IODBX:Rebuild;IOIBX:Rebuild;IOXML:Rebuild" /> + <Target Name="Make"> + <CallTarget Targets="IOCore:Make;IOIBFbCatalog:Make;IOMSSqlCatalog:Make;IOMySQLCatalog:Make;IOADO:Make;IOBDE:Make;IODBX:Make;IOIBX:Make;IOXML:Make;IOZeosDBO:Make" /> </Target> </Project> \ No newline at end of file Modified: trunk/Source/PackageGroups/D7/DesignTimePackages.bpg =================================================================== --- trunk/Source/PackageGroups/D7/DesignTimePackages.bpg 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/PackageGroups/D7/DesignTimePackages.bpg 2007-04-24 10:40:25 UTC (rev 774) @@ -9,8 +9,8 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = dclIOCore_D7.bpl dclIOADO_D7.bpl dclIOBDE_D7.bpl dclIODBX_D7.bpl dclIOIBX_D7.bpl \ - dclIOXML_D7.bpl +PROJECTS = dclIOCore_D7.bpl dclIOADO_D7.bpl dclIOBDE_D7.bpl dclIODBX_D7.bpl \ + dclIOIBX_D7.bpl dclIOXML_D7.bpl DclIOZeosDBO_D7.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ @@ -32,3 +32,8 @@ dclIOXML_D7.bpl: ..\..\Brokers\XML\D7\dclIOXML.dpk $(DCC) + +DclIOZeosDBO_D7.bpl: ..\..\Brokers\ZeosDBO\D7\DclIOZeosDBO.dpk + $(DCC) + + Modified: trunk/Source/PackageGroups/D7/RunTimePackages.bpg =================================================================== --- trunk/Source/PackageGroups/D7/RunTimePackages.bpg 2007-04-03 08:27:44 UTC (rev 773) +++ trunk/Source/PackageGroups/D7/RunTimePackages.bpg 2007-04-24 10:40:25 UTC (rev 774) @@ -9,8 +9,9 @@ DCC = $(ROOT)\bin\dcc32.exe $** BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ -PROJECTS = IOCore_D7.bpl IOMSSqlCatalog_D7.bpl IOIBFbCatalog_D7.bpl IOADO_D7.bpl IOBDE_D7.bpl \ - IODBX_D7.bpl IOIBX_D7.bpl IOXML_D7.bpl +PROJECTS = IOCore_D7.bpl IOMSSqlCatalog_D7.bpl IOIBFbCatalog_D7.bpl \ + IOMySQLCatalog_D7.bpl IOADO_D7.bpl IOBDE_D7.bpl IODBX_D7.bpl IOIBX_D7.bpl \ + IOXML_D7.bpl IOZeosDBO_D7.bpl #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ @@ -39,4 +40,10 @@ IOIBFbCatalog_D7.bpl: ..\..\Catalogs\IBFb\D7\IOIBFbCatalog.dpk $(DCC) +IOMySQLCatalog_D7.bpl: ..\..\Catalogs\MySQL\D7\IOMySQLCatalog.dpk + $(DCC) +IOZeosDBO_D7.bpl: ..\..\Brokers\ZeosDBO\D7\IOZeosDBO.dpk + $(DCC) + + |