Lançado Adianti Framework 7.6!
Clique aqui para saber mais
erro ao migrar boa tarde galera estou migrando um sistema para a versão nova do fw porem deu o seguinte erro...
AS
erro ao migrar  
Fechado
boa tarde galera estou migrando um sistema para a versão nova do fw
porem deu o seguinte erro

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (5)


AS

essa é a class que eu usei em um sistema, e esta dando erro na nova versão

Warning: func_get_arg(): Argument 0 not passed to function in /home/alexandre/web-studio/factorERP/lib/adianti/control/TStandardList.class.php on line 287


  1. <?php 
  2. /** class de controle de funcionarios
  3. * author Alexandre E. Souza
  4. */
  5. class EntradaView extends TStandardList{
  6.     
  7.     protected $grid;
  8.     protected $panel;
  9.     protected $form;
  10.     protected $pagination;
  11.     function __construct()
  12.     {
  13.         parent::__construct();
  14.         parent::setDatabase('mysql');
  15.         parent::setActiveRecord("Entrada");
  16.         parent::setFilterField('id');
  17.  User::checaLogin('convidado');
  18.              
  19.    $this->panel = new TPanel(800,600);
  20.    $table = new TTable();
  21. $tabela $table->addRow();
  22. $novo $table->addRow();
  23.     if(TSession::getValue('permissao')>=3){
  24. $frm = new TForm();
  25.    $btnNovo = new TButton('novo');
  26.    $btnNovo->setAction(new TAction(array('frmEntrada','onEdit')),'Novo');
  27.    $btnNovo->setImage('ico_new.png');
  28.    
  29.    $frm->setFields(array($btnNovo));
  30. $novo->addCell($frm);
  31.     }
  32.        $this->grid = new TQuickGrid();
  33.         $this->grid->setHeight("400");
  34.     
  35.         $this->grid->addQuickColumn('Produto','produto','left',170);
  36.         $this->grid->addQuickColumn('NF','nf','left',170);
  37.         $this->grid->addQuickColumn('QTD','qtd','left',170);
  38.         $this->grid->addQuickColumn('Data Entrada','dataF','left',170);
  39.         
  40.      
  41.  if(TSession::getValue('permissao')>=3){
  42.           $this->grid->addQuickAction('Editar', new TDataGridAction(array('frmEntregas','onEdit')),'id','ico_edit.png');
  43.            $this->grid->addQuickAction('Deletar', new TDataGridAction(array($this,'onDelete')),'id','ico_delete.png');
  44.         //  $this->grid->addQuickAction('Novo', new TDataGridAction(array('frmVeiculos','__construct')),'ico_form.png');
  45.           
  46.  }
  47.  $tabela->addCell($this->grid);
  48.  $this->grid->createModel();
  49. $this->panel->put($table,50,10);
  50. // formulario
  51. parent::add($this->panel);
  52. }
  53. public function show(){
  54.     parent::show();
  55.     $this->onReload();
  56. }
  57. public function onReload($param NULL) {
  58.     
  59. $this->grid->Clear();
  60.  
  61.          try{
  62.             TTransaction::open("mysql");// abre a transação
  63. $repo =  new TRepository("Entrada");
  64. $criteria = new TCriteria();
  65. $criteria->setProperty('order''dataF');
  66. $criteria->setProperty('direction''desc'); 
  67.                  $veiculos =  $repo->load($criteria);
  68.   $d = new TDate('data');
  69. foreach ($veiculos as $key ) {
  70. $item = new StdClass();
  71. $item->id $key->id;
  72. $item->produto $key->produto->nome;
  73. $item->nf $key->nf;
  74. $item->qtd $key->qtd;
  75. $item->dataF $d->date2br($key->dataF);
  76.  $this->grid->addItem($item);
  77.  
  78. }
  79.       TTransaction::close();// abre a transação
  80.             
  81.         }catch(Exeption $e){
  82.             new TMessage('error',$e->getMessage());
  83.         }
  84.     }
  85. }
  86. ?>
PD

Oi Alexandre,

Acredito que você tenha esquecido de um item do migration (www.adianti.com.br/framework-migration), que é:

"Caso você ainda tenha um engine.php da versão anterior, deverá passar os parâmetros da URL ($_GET) ao executar o método show() da página $page->show( $_GET ). Na nova versão do engine.php (que utiliza a classe TCoreApplication, isso já está habilitado por default;"

abraço,
Pablo
PD

Alexandre,

Isso quer dizer que se você está com o engine.php antigo, deve substituir:
$page->show();

por:
$page->show( $_GET );

abs,
Pablo
AS

então pablo estou usando o novo
baixei o fw novo, e so peguei meu controles e models


esse é o engine que to usando é o novo

  1. <?php
  2. // define the autoloader
  3. include_once 'lib/adianti/util/TAdiantiLoader.class.php';
  4. spl_autoload_register(array('TAdiantiLoader''autoload_web'));
  5. // read configurations
  6. $ini  parse_ini_file('application.ini');
  7. date_default_timezone_set($ini['timezone']);
  8. TAdiantiCoreTranslator::setLanguage$ini['language'] );
  9. TApplicationTranslator::setLanguage$ini['language'] );
  10. // define constants
  11. define('APPLICATION_NAME'$ini['application']);
  12. define('OS'strtoupper(substr(PHP_OS03)));
  13. define('PATH'dirname(__FILE__));
  14. class TApplication extends TCoreApplication
  15. {
  16.     static public function run($debug FALSE)
  17.     {
  18.         new TSession;
  19.         if ($_REQUEST)
  20.         {
  21.             parent::run($debug);
  22.         }
  23.     }
  24. }
  25. TApplication::run(TRUE);
  26. ?>
PD

Oi Alexandre,

Nesse caso, você não precisa reescrever o show(), pq o show() da TStandardList já chama o onReload() por default. Mas se você quiser reescrever, faça da seguinte maneira:
  1. <?php
  2. public function show(){
  3.     parent::show();
  4.     $this->onReloadfunc_get_arg(0) );
  5. }
  6. ?>


abs,
Pablo