Invalid argument supplied for foreach() | Script: /var/www/html/sc9/devel/class/generator/nmDadosForm.class.php linha: 789

Na geração dos fontes, o seguinte erro acontece: “Invalid argument supplied for foreach() | Script: /var/www/html/sc9/devel/class/generator/nmDadosForm.class.php linha: 789”.
Mas depois o mesmo gera sem esse erro e “funfa” sem problemas. O que pode ser?

Atualize seu SC.

Atualização feita. versão 9.6.018.
O erro ainda persiste sem causa aparente.

Se usar o Scriptcase Padrão no Windows, tente fazer isso:

  1. Entre no Scriptcase e Exclua em Projetos, projetos que não usa tipo ‘samples’, etc.

  2. Faça cópia manualmente da pasta \scriptcase inteira grave em lugar seguro.

  3. Baixe e use o Revo Uninstaller Free, e remova totalmente o Scriptcase.
    https://www.revouninstaller.com/pt/revo-uninstaller-free-download/
    ** Reinicie o PC.

  4. Baixe e instale novamente o Scriptcase última release setup.exe

  5. Pegue na pasta de backup somente o arquivo: nm_scriptcase.db
    \NetMake\v9-php73\wwwroot\scriptcase\devel\conf\scriptcase\ nm_scriptcase.db
    ** Copie o .db do backup em cima da nova instalação:
    C:\Program Files\NetMake\v9-php73\wwwroot\scriptcase\devel\conf\scriptcase\ nm_scriptcase.db

  6. Edite o php.ini em C:\Program Files\NetMake\v9-php73\components\php
    Procure e troque os valores por esses:

max_execution_time = 3600
max_input_time = 3600
max_input_vars = 20000
memory_limit = -1
post_max_size = 1024M
upload_max_filesize = 1024M
max_file_uploads = 200

date.timezone = America/Sao_Paulo

zlib.output_compression = On
zlib.output_compression_level = 1

disable_functions =

short_open_tag = On
display_errors = On 

** SALVE

Se usar Anti-Virus desabilite ele para checar a pasta \Netmake inteira e a
\Downloads ‘onde’ você gera
os arquivos de exportações/backup.
** Windows Defender ** é um bom anti-virus.

  1. Baixe o SQLite Expert Personal:
    http://www.sqliteexpert.com/download.html
    Instale ele, execute e faça isso no Menu:
    File > Open Database = C:\Program Files\NetMake\v9-php73\wwwroot\scriptcase\devel\conf\scriptcase\ nm_scriptcase.db
    Database > Vacuum
    Database > Reindex All Tables
    File > Exit

  2. Apague totalmente o cache do seu Navegador Web.

** Reinicie o PC.

Entre no Scriptcase, registre a Licença > Registro Online novamente

** Gere as fontes novamente, se o erro continuar siga dicas abaixo:

Tente compilar por pastas até conseguir isolar a aplicação que esta com erro para
poder debugar a mesma:

Depois que conseguir isolar a aplicação, veja neste link este erro é causado por diversos
motivos, eu estou usando a 9.6.018 em Windows com MariaDB e esta gerando 100% aqui:

1 Curtida

Meu ambiente é linux.
Mas seguindo o procedimento com a ressalva do ambiente, ainda assim, não resolveu.
Estou isolando cada aplicação para descobrir a causa.

Tem código personalizado?

Se tiver comente e vai gerando a app.

1 Curtida

Agora sim …
Verificando que o problema está no módulo de segurança …
Só não ficou claro ainda, onde.

Clica no link da linha. Mas parece ser problema ao acessar o banco de dados da segurança.

Abre uma app e vai em sql.

Não é possível clicar, não mostra nada … mas investigando…

Na app Login, não mostra nada em SQL (vê tela abaixo).

olhe em uma grid ou formulário (não controle)
e gere apenas essa app que abrir.

Não mostra nada … rsrsrsr
Mas estou sendo minucioso na busca. e persistente.
Mas se não achar o erro, pode ser um Bug mesmo.

Pior de tudo é que depois que tento gerar novamente, não dá erro.