Commit d01896b8 authored by Jucelino Fonseca's avatar Jucelino Fonseca

ajustes

parent fc665ea6
......@@ -412,6 +412,9 @@
<VerifyObjMethodCallValidity Value="True"/>
<TargetCPU Value="x86_64"/>
<TargetOS Value="linux"/>
<Optimizations>
<OptimizationLevel Value="0"/>
</Optimizations>
</CodeGeneration>
<Linking>
<Debugging>
......@@ -429,9 +432,6 @@
<ShowAll Value="True"/>
</Verbosity>
<CustomOptions Value="-dUseCThreads"/>
<OtherDefines Count="1">
<Define0 Value="FullDebugMode"/>
</OtherDefines>
</Other>
</CompilerOptions>
<Debugging>
......
......@@ -165,7 +165,7 @@ type
function ContemPalavrasEspeciais (piTextoEntrada: string): boolean;
procedure AddAliasListas(piLinhas: string;piAlias : TStrings);
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 RetirarPalavraChaveOLQ(piSynEdit :TSynEdit):string;
......@@ -181,6 +181,7 @@ type
property Util: TUtil read fUtil;
property SQLDialect: acAbstractSQLDialect read fSQLDialect;
property Schema: String read fSchema;
end;
var
......@@ -725,9 +726,9 @@ begin
end; }
procedure TExplorerV2.LoadListCompletion(piLinha: string; piAceitaAtributo: boolean; piLista: TStrings);
var lClassTicketCurrent,
var lClassTicketCurrent : acClassTicket;
lClassTicketAux: acClassTicket;
//lClassTicketAux: acClassTicket;
lEnumerator : acEnumerator;
li,
li_Pos : integer;
......@@ -764,51 +765,7 @@ begin
end
else
begin
ls_aux := trim(piLinha);
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;
lClassTicketCurrent := self.GetClassTicketByNameRelation(piLinha,ls_ant_objeto);
if Assigned(lClassTicketCurrent) then
begin
//ShowMessage(ls_ant_objeto);
......@@ -976,6 +933,7 @@ procedure TExplorerV2.AddAliasListas(piLinhas: string; piAlias: TStrings);
var ls_texto,
ls_espaco : string;
li_Pos : integer;
ls_name_ant_objeto,
ls_Alias : string;
ls_classe : string;
lClassTicketCurrent: acClassTicket;
......@@ -1007,10 +965,13 @@ begin
end;
if (ls_Alias <> '') and (ls_classe <> '') then
begin
lClassTicketCurrent := self.GetClassTicketByNameRelation(ls_classe);
lClassTicketCurrent := self.GetClassTicketByNameRelation(ls_classe,ls_name_ant_objeto);
if Assigned(lClassTicketCurrent) then
begin
piAlias.AddObject(ls_Alias,lClassTicketCurrent);
if piAlias.IndexOf(ls_Alias) < 0 then
begin
piAlias.AddObject(UpperCase(ls_Alias),lClassTicketCurrent);
end;
end;
end;
end;
......@@ -1100,7 +1061,7 @@ begin
end;
function TExplorerV2.GetClassTicketByNameRelation(piNameObjeto: string): acClassTicket;
function TExplorerV2.GetClassTicketByNameRelation(piNameObjeto: string; out piNameAntObjeto : string): acClassTicket;
var lClassTicketCurrent,
lClassTicketAux: acClassTicket;
lEnumerator : acEnumerator;
......@@ -1113,12 +1074,13 @@ var lClassTicketCurrent,
lbAchei : boolean;
begin
li_Pos := Pos ('.',piNameObjeto);
if li_Pos <= 0 then
if li_Pos > 0 then
begin
ls_aux := trim(piNameObjeto);
lClassTicketAux := nil;
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
begin
ls_aux := trim(Copy(ls_aux,li_Pos +1,Length(ls_aux)));
......@@ -1156,13 +1118,13 @@ begin
end;
end;
result := lClassTicketCurrent;
end
else
begin
result := self.MetaModel.GetClassTicketByName(piNameObjeto);
//result := self.MetaModel.GetClassTicketByName(piNameObjeto);
result := Self.GetClassTicketByNameANDAlias(piNameObjeto);
end;
piNameAntObjeto := ls_ant_objeto;
end;
function TExplorerV2.GetClassTicketByNameANDAlias(piNameObjeto: string): acClassTicket;
......@@ -1171,7 +1133,7 @@ begin
result := self.MetaModel.GetClassTicketByName(piNameObjeto);
if not Assigned(result) then
begin
li_index := fAlias.IndexOf(piNameObjeto);
li_index := fAlias.IndexOf(upperCase(piNameObjeto));
if li_index >= 0 then
begin
result := acClassTicket(fAlias.Objects[li_index]);
......@@ -1413,6 +1375,8 @@ begin
if opEve = fopEvenWhereAposPonto then
begin
lAceitaAtributo := true;
//ShowMessage(SynEditOQL.Text);
LoadAliasOQLEdit(SynEditOQL.Text,fAlias);
end
else if opEve = fopEvenSelectAposPonto then
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