♥ 0 | Boa tarde, Tenho uma questão relativamente à referência StdBE100. Na StdBE900, na função StdBERegistoUtil() existiam 6 campos (getcampos(),setcampos(),getchaves(), etc.). Na nova referência da V10 (StdBE100), esses campos penso que deixaram de existir. O que é que agora substitui esses mesmos campos? public static StdBERegistoUtil PreparaRegistoUtil(StdBERegistoUtil regUtil) { if ((regUtil != null)) { StdBECampos campos = regUtil.get_Campos().CopiaCampos(); regUtil.get_Campos().RemoveTodos(); foreach (StdBECampo c in campos) { if ((c.Tipo != EnumTipoCampo.tcTimeStamp)) { StdBECampo cc = c; regUtil.get_Campos().Insere(ref cc); } else { Console.WriteLine(\"Ignorando campo \" + c.Nome + \"=\" + c.Valor.ToString()); } } bool t = true; regUtil.set_EmModoEdicao(ref t); campos = null; } return regUtil; }
Marcado como spam |
Comentários @buildcode Em que contexto estamos a falar? tens um exemplo? @buildcode edita porfavor a questão e coloca lá esse codigo não em formato de imagem pf. @sereno Já editei. |
3 respostas
Resposta privada Na sua opinião qual seria a melhor referencia alternativa a ADODB ? Marcado como spam | |
Resposta privada internal void DumpConnectionProps( string file ){ System.IO.StreamWriter sw = new System.IO.StreamWriter(file); for (int i = 0; i < mBSO.DSO.BDAPL.Properties.Count; i++) { sw.Write(mBSO.DSO.BDAPL.Properties[i].Name + "="); if (mBSO.DSO.BDAPL.Properties[i].Value != null) { sw.Write(mBSO.DSO.BDAPL.Properties[i].Value.ToString()); } sw.WriteLine(); } } Neste exemplo, o campo Properties está a dar erro porque BDAPL pertence a System.Data.Common.DbConnection e na V9 não dá erro porque pertence a ADODB.Connection. Marcado como spam | |
Resposta privada Olá, nada se perdeu, apenas mudaram as propriedades por causa da interoperabilidade, exemplo: using Primavera.Extensibility.Base.Editors; using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs; using StdBE100; using static StdBE100.StdBETipos; namespace ExtensibilityProject5.Base { public class UiFichaArtigos : FichaArtigos { public override void ErroAoGravar(string Artigo, ExtensibilityEventArgs e) { base.ErroAoGravar(Artigo, e); StdBERegistoUtil regUtil = new StdBERegistoUtil(); StdBECampos campos = regUtil.Campos.CopiaCampos(); regUtil.Campos.RemoveTodos(); foreach (StdBECampo c in campos) { if ((c.Tipo != EnumTipoCampo.tcTimeStamp)) { StdBECampo cc = c; regUtil.Campos.Insere(ref cc); } else { } } } } }
Marcado como spam Comentários A referência ADODB.dll não existe na V10? Ou é suposto usar a da V9? ADODB é uma referencia a tecnologia VB em .NET isso já não existe. Então qualquer uso dessa referência tem de ser eliminado? Tem um exemplo em cima que enviei ontem. Sim convém migrar esse código. Na sua opinião qual seria a melhor referencia alternativa a ADODB ? @buildcode Pode marcar comigo uma sessão para exclareçer duvidas.
https://calendly.com/tecintex/ |