Commit d01896b8 authored by Jucelino Fonseca's avatar Jucelino Fonseca

ajustes

parent fc665ea6
...@@ -412,6 +412,9 @@ ...@@ -412,6 +412,9 @@
<VerifyObjMethodCallValidity Value="True"/> <VerifyObjMethodCallValidity Value="True"/>
<TargetCPU Value="x86_64"/> <TargetCPU Value="x86_64"/>
<TargetOS Value="linux"/> <TargetOS Value="linux"/>
<Optimizations>
<OptimizationLevel Value="0"/>
</Optimizations>
</CodeGeneration> </CodeGeneration>
<Linking> <Linking>
<Debugging> <Debugging>
...@@ -429,9 +432,6 @@ ...@@ -429,9 +432,6 @@
<ShowAll Value="True"/> <ShowAll Value="True"/>
</Verbosity> </Verbosity>
<CustomOptions Value="-dUseCThreads"/> <CustomOptions Value="-dUseCThreads"/>
<OtherDefines Count="1">
<Define0 Value="FullDebugMode"/>
</OtherDefines>
</Other> </Other>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
......
...@@ -165,7 +165,7 @@ type ...@@ -165,7 +165,7 @@ type
function ContemPalavrasEspeciais (piTextoEntrada: string): boolean; function ContemPalavrasEspeciais (piTextoEntrada: string): boolean;
procedure AddAliasListas(piLinhas: string;piAlias : TStrings); procedure AddAliasListas(piLinhas: string;piAlias : TStrings);
function LoadAliasBlocoFROMOQLEdit(piTexto: string; piAlias: TStrings): string; function LoadAliasBlocoFROMOQLEdit(piTexto: string; piAlias: TStrings): string;
function GetClassTicketByNameRelation(piNameObjeto : string) : acClassTicket; function GetClassTicketByNameRelation(piNameObjeto : string; out piNameAntObjeto : string) : acClassTicket;
function GetClassTicketByNameANDAlias(piNameObjeto : string) : acClassTicket; function GetClassTicketByNameANDAlias(piNameObjeto : string) : acClassTicket;
// //
function RetirarPalavraChaveOLQ(piSynEdit :TSynEdit):string; function RetirarPalavraChaveOLQ(piSynEdit :TSynEdit):string;
...@@ -181,6 +181,7 @@ type ...@@ -181,6 +181,7 @@ type
property Util: TUtil read fUtil; property Util: TUtil read fUtil;
property SQLDialect: acAbstractSQLDialect read fSQLDialect; property SQLDialect: acAbstractSQLDialect read fSQLDialect;
property Schema: String read fSchema; property Schema: String read fSchema;
end; end;
var var
...@@ -725,9 +726,9 @@ begin ...@@ -725,9 +726,9 @@ begin
end; } end; }
procedure TExplorerV2.LoadListCompletion(piLinha: string; piAceitaAtributo: boolean; piLista: TStrings); procedure TExplorerV2.LoadListCompletion(piLinha: string; piAceitaAtributo: boolean; piLista: TStrings);
var lClassTicketCurrent, var lClassTicketCurrent : acClassTicket;
lClassTicketAux: acClassTicket; //lClassTicketAux: acClassTicket;
lEnumerator : acEnumerator; lEnumerator : acEnumerator;
li, li,
li_Pos : integer; li_Pos : integer;
...@@ -764,51 +765,7 @@ begin ...@@ -764,51 +765,7 @@ begin
end end
else else
begin begin
ls_aux := trim(piLinha); lClassTicketCurrent := self.GetClassTicketByNameRelation(piLinha,ls_ant_objeto);
lClassTicketAux := nil;
ls_Objeto := trim(Copy(ls_aux,0,li_Pos -1));
//lClassTicketCurrent := self.MetaModel.GetClassTicketByName(ls_Objeto);
lClassTicketCurrent := self.GetClassTicketByNameANDAlias(ls_Objeto);
while li_Pos > 0 do
begin
ls_aux := trim(Copy(ls_aux,li_Pos +1,Length(ls_aux)));
ls_ant_objeto := ls_aux;
li_Pos := Pos ('.',ls_aux);
ls_Objeto := trim(Copy(ls_aux,0,li_Pos -1));
if Assigned(lClassTicketCurrent) and (ls_Objeto <> '') then
begin
lbAchei := false;
for li := 0 to pred(lClassTicketCurrent.RelationTicketsIn.Count) do
begin
lRelationTicket := acRelationTicket(lClassTicketCurrent.RelationTicketsIn.Objects[li]);
if SameText(lRelationTicket.DestinationPropertyName, ls_Objeto) then
begin
lClassTicketAux := lRelationTicket.OriginClassTicket;
ls_ant_objeto := '';
lbAchei := true;
break;
end;
end;
if not lbAchei then
begin
for li := 0 to pred(lClassTicketCurrent.RelationTicketsOut.Count) do
begin
lRelationTicket := acRelationTicket(lClassTicketCurrent.RelationTicketsOut.Objects[li]);
if SameText(lRelationTicket.OriginPropertyName, ls_Objeto) then
begin
lClassTicketAux := lRelationTicket.DestinationClassTicket;
ls_ant_objeto := '';
break;
end;
end;
end;
lClassTicketCurrent := lClassTicketAux;
end;
end;
if Assigned(lClassTicketCurrent) then if Assigned(lClassTicketCurrent) then
begin begin
//ShowMessage(ls_ant_objeto); //ShowMessage(ls_ant_objeto);
...@@ -976,6 +933,7 @@ procedure TExplorerV2.AddAliasListas(piLinhas: string; piAlias: TStrings); ...@@ -976,6 +933,7 @@ procedure TExplorerV2.AddAliasListas(piLinhas: string; piAlias: TStrings);
var ls_texto, var ls_texto,
ls_espaco : string; ls_espaco : string;
li_Pos : integer; li_Pos : integer;
ls_name_ant_objeto,
ls_Alias : string; ls_Alias : string;
ls_classe : string; ls_classe : string;
lClassTicketCurrent: acClassTicket; lClassTicketCurrent: acClassTicket;
...@@ -1007,10 +965,13 @@ begin ...@@ -1007,10 +965,13 @@ begin
end; end;
if (ls_Alias <> '') and (ls_classe <> '') then if (ls_Alias <> '') and (ls_classe <> '') then
begin begin
lClassTicketCurrent := self.GetClassTicketByNameRelation(ls_classe); lClassTicketCurrent := self.GetClassTicketByNameRelation(ls_classe,ls_name_ant_objeto);
if Assigned(lClassTicketCurrent) then if Assigned(lClassTicketCurrent) then
begin begin
piAlias.AddObject(ls_Alias,lClassTicketCurrent); if piAlias.IndexOf(ls_Alias) < 0 then
begin
piAlias.AddObject(UpperCase(ls_Alias),lClassTicketCurrent);
end;
end; end;
end; end;
end; end;
...@@ -1100,7 +1061,7 @@ begin ...@@ -1100,7 +1061,7 @@ begin
end; end;
function TExplorerV2.GetClassTicketByNameRelation(piNameObjeto: string): acClassTicket; function TExplorerV2.GetClassTicketByNameRelation(piNameObjeto: string; out piNameAntObjeto : string): acClassTicket;
var lClassTicketCurrent, var lClassTicketCurrent,
lClassTicketAux: acClassTicket; lClassTicketAux: acClassTicket;
lEnumerator : acEnumerator; lEnumerator : acEnumerator;
...@@ -1113,12 +1074,13 @@ var lClassTicketCurrent, ...@@ -1113,12 +1074,13 @@ var lClassTicketCurrent,
lbAchei : boolean; lbAchei : boolean;
begin begin
li_Pos := Pos ('.',piNameObjeto); li_Pos := Pos ('.',piNameObjeto);
if li_Pos <= 0 then if li_Pos > 0 then
begin begin
ls_aux := trim(piNameObjeto); ls_aux := trim(piNameObjeto);
lClassTicketAux := nil; lClassTicketAux := nil;
ls_Objeto := trim(Copy(ls_aux,0,li_Pos -1)); ls_Objeto := trim(Copy(ls_aux,0,li_Pos -1));
lClassTicketCurrent := self.MetaModel.GetClassTicketByName(ls_Objeto); //lClassTicketCurrent := self.MetaModel.GetClassTicketByName(ls_Objeto);
lClassTicketCurrent := Self.GetClassTicketByNameANDAlias(ls_Objeto);
while li_Pos > 0 do while li_Pos > 0 do
begin begin
ls_aux := trim(Copy(ls_aux,li_Pos +1,Length(ls_aux))); ls_aux := trim(Copy(ls_aux,li_Pos +1,Length(ls_aux)));
...@@ -1156,13 +1118,13 @@ begin ...@@ -1156,13 +1118,13 @@ begin
end; end;
end; end;
result := lClassTicketCurrent; result := lClassTicketCurrent;
end end
else else
begin begin
result := self.MetaModel.GetClassTicketByName(piNameObjeto); //result := self.MetaModel.GetClassTicketByName(piNameObjeto);
result := Self.GetClassTicketByNameANDAlias(piNameObjeto);
end; end;
piNameAntObjeto := ls_ant_objeto;
end; end;
function TExplorerV2.GetClassTicketByNameANDAlias(piNameObjeto: string): acClassTicket; function TExplorerV2.GetClassTicketByNameANDAlias(piNameObjeto: string): acClassTicket;
...@@ -1171,7 +1133,7 @@ begin ...@@ -1171,7 +1133,7 @@ begin
result := self.MetaModel.GetClassTicketByName(piNameObjeto); result := self.MetaModel.GetClassTicketByName(piNameObjeto);
if not Assigned(result) then if not Assigned(result) then
begin begin
li_index := fAlias.IndexOf(piNameObjeto); li_index := fAlias.IndexOf(upperCase(piNameObjeto));
if li_index >= 0 then if li_index >= 0 then
begin begin
result := acClassTicket(fAlias.Objects[li_index]); result := acClassTicket(fAlias.Objects[li_index]);
...@@ -1413,6 +1375,8 @@ begin ...@@ -1413,6 +1375,8 @@ begin
if opEve = fopEvenWhereAposPonto then if opEve = fopEvenWhereAposPonto then
begin begin
lAceitaAtributo := true; lAceitaAtributo := true;
//ShowMessage(SynEditOQL.Text);
LoadAliasOQLEdit(SynEditOQL.Text,fAlias);
end end
else if opEve = fopEvenSelectAposPonto then else if opEve = fopEvenSelectAposPonto then
begin begin
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment