bom dia pessoal, estou migrando uma aplicacao feita em delphi 6 utilizando dbexpress e firebird 2.11 para delphi 7 e esta acontecendo um erro que nao consegui solucionar. a rotina abaixo funciona perfeitamente no delphi 6 há mais de 4 anos, mas quando compilo o sistema no delphi 7 da erro em tempo de execução coisa que não ocorre no delphi 6 alguem poderia me indicar um caminho para eu tentar descobrir o porque do erro ? ja vasculhei na net e não achei nada que se aplicasse ao meu caso. por isto estou recorrendo a lista
tentativas feitas por mim: removi o componete TSQLStoreProc que veio no projeto do delphi 6 e adicionei novamente no delphi 7 removi o componete Sqlconnection que veio no projeto do delphi 6 e adicionei novamente no delphi 7 criei os parametros em tempo de design removi para trabalhar sem os parametros criei os parametros em tempo de execução muito obrigado segue a mensagem de erro quando chega na linha ExecProc dbExpress Error: Operation Not Supported SP_Generico é do tipo TSQLStoreProc da paleta dbexpress. // Soma as quantidades dos produtos vendidos no dia e totaliza pelos dias informados with DM_Cadastro.SP_Generico do Begin Close; Params.Clear; P1 := TParam.Create(Params, ptInput); P2 := TParam.Create(Params, ptInput); P3 := TParam.Create(Params, ptInput); P4 := TParam.Create(Params, ptInput); Params[0].Name := 'spEMPRESA'; Params[1].Name := 'spPRODUTO'; Params[2].Name := 'spDATAINICIO'; Params[3].Name := 'spDATAFINAL'; SQLConnection := DM_Cadastro.SQLConnection; StoredProcName := 'sp_VENDA_SEMANA_PERIODO'; ParamByName('spEMPRESA').AsInteger := StrToInt( vGCodEmpresa ) ; ParamByName('spPRODUTO').AsInteger := DM_Cadastro.SqlGeral.FieldByName('T032_PRODUTO_IU').AsInteger; ParamByName('spDATAINICIO').AsDate := ( vGDataSistema - StrToInt( EdtDiasPesquisa.Text ) ); ParamByName('spDATAFINAL').AsDate := vGDataSistema; ExecProc; =====>>>>>>> da erro na execução no delphi 7 mas não da erro no delphi 6 End; codigo da Stored Procedure SET TERM ^ ; CREATE OR ALTER PROCEDURE "sp_VENDA_SEMANA_PERIODO" ( "spEMPRESA" INTEGER, "spPRODUTO" INTEGER, "spDATAINICIO" DATE, "spDATAFINAL" DATE) RETURNS ( "spSomaDia" DOUBLE PRECISION, "spSoma" DOUBLE PRECISION) AS begin /* Procedure Text */ select sum( T041_QUANTIDADE ) from T041_ITENS_VENDA Where ( t041_itens_venda.t041_empresa_ie = :"spEMPRESA" and t041_itens_venda.t041_produto_e = :"spPRODUTO" and t041_itens_venda.t041_data between :"spDATAINICIO" and :"spDATAFINAL" ) Into :"spSoma"; If ( "spSoma" is Null ) Then "spSoma" = 0; select sum( T041_QUANTIDADE ) from T041_ITENS_VENDA Where ( t041_itens_venda.t041_empresa_ie = :"spEMPRESA" and t041_itens_venda.t041_produto_e = :"spPRODUTO" and t041_itens_venda.t041_data = :"spDATAFINAL" ) Into :"spSomaDia"; If ( "spSomaDia" is Null ) Then "spSomaDia" = 0; suspend; end^ SET TERM ; ^ GRANT SELECT ON T041_ITENS_VENDA TO PROCEDURE "sp_VENDA_SEMANA_PERIODO"; GRANT EXECUTE ON PROCEDURE "sp_VENDA_SEMANA_PERIODO" TO SYSDBA;