Executar, inserir, comando e/ou form sem compilação

Delphi

07/10/2003

Boa tarde amigos do forum.

Gostariade saber se é possível e como, executar uma linha de comando que está num txt ou ini, tanto faz, de dentro do programa, sem ter quer compilar ?

Exemplo:


x := ´script´;

ond script é um comando em string.

Ou :

Eu tenho uma unit e um dfm, como faço para executar essa tela sem ter que compliar ? como coloca-la dentro do executavel q estou usando ?

[]´s para todos.


Batelli

Batelli

Curtidas 0

Respostas

Beppe

Beppe

07/10/2003

O que você quer é customizar a execução do aplicativo?
Se é isso, o Delphi não faz. Você precisará escrever um interpretador para estes comandos.

Ataliba.


GOSTEI 0
Moonlight

Moonlight

07/10/2003

O Delphi não faz mesmo não... se não me engano era o Clipper que fazia, aí o pessoal ficou mal acostumado... mas com o Delphi não rola, pq pra rodar tudo jah tem que estar compilado...


GOSTEI 0
Nildo

Nildo

07/10/2003

MoonLight.. Mesmo estando compilado, eu poderia pegar o código de um outro arquivo e executá-lo? (isso em tempo de execução)


GOSTEI 0
Beppe

Beppe

07/10/2003

Que tipo de arquivo?


GOSTEI 0
Batelli

Batelli

07/10/2003

mas tem como eu colocar um form dentro de uma dll ? aí eu poderia chamar o form não é ?

De repente tem como incluir só o dcu e ai chamar o arquivo ?

Comandos como :

InputBox( ´insira o comando´, texto, ´A1=A2*3´ );

despois de executado texto = 60;

Não tem jeito msmo ?

Valeu galera !


GOSTEI 0
Barcelos

Barcelos

07/10/2003

Olá,

Quanto à exibir um form (*.dfm) sem ter que compilá-lo ... no problem...
você pode ler a estrutura e montar o form dinamicamente (dá um pouco de trabalho...). O problema se resume em executar o que está na unit ligada ao form. É aí que o ´bicho pega´.
{Para leitura de arquivos dfm em tempo de execução dê uma olhada em :
http://www.agnisoft.com/formread.asp}.
Porém pelo que eu entendi você precisa é de um interpretador de Scripts.
Nos componentes JEDIVCL existem dois (da paleta jv Interpreter) que fazem o que você quer.
Mas se você quiser implementar algo mais, dê uma olhada em www.dwscript.com, na minha opinião é o melhor interpretador de scripts que existe para delphi. Vale a pena estudar o código (é free e opensource). Com ele você pode escrever uma unit de funções variadas, usando A MESMA SINTAXE do dephi, e utilizar estas funções em tempo de execução.

Espero ter ajudado.

PS. Nildo, não entendi a sua pergunta... será que poderia reformular???

Abraço,
Barcelos
osbarcelos@hotmail.com


GOSTEI 0
Nildo

Nildo

07/10/2003

Ahh deixa queto.. falei besteira.


GOSTEI 0
Beppe

Beppe

07/10/2003

mas tem como eu colocar um form dentro de uma dll ? aí eu poderia chamar o form não é ?


Tem como, claro :D Você exporta uma função que exibe o form, ou alternativamente, trabalha através de interfaces.

Ataliba.


GOSTEI 0
Moonlight

Moonlight

07/10/2003

MoonLight.. Mesmo estando compilado, eu poderia pegar o código de um outro arquivo e executá-lo? (isso em tempo de execução)


eu tb num entendi... que outro arquivo?


GOSTEI 0
Nildo

Nildo

07/10/2003

Num sei. qualquer arquivo. Tipo um .dcu (que jah é compilado).
Mas dexa keto.. falei besteira hehe

t+


GOSTEI 0
Beppe

Beppe

07/10/2003

Num sei. qualquer arquivo. Tipo um .dcu (que jah é compilado). Mas dexa keto.. falei besteira hehe


DCU? Se você souber o formato interno do arquivo(tem um programa open-source, acho que é DCU32Int, que o desmonta), você carrega o código da memória, pega o endereço de uma funçao lá dentro, passa os parâmetros(só da pra fazer num asm), e ´chama´ o endereço. É o único jeito.


GOSTEI 0
Nildo

Nildo

07/10/2003

hehe valew :D


GOSTEI 0
POSTAR