WinExec não consigo executar...

07/12/2005

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\bd.GDB´´+ ´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\bd.BAK´),1);


Max.sgj

Respostas

07/12/2005

Edilcimar

está faltando um espaço entre gdb e aspas


Responder Citar

07/12/2005

Max.sgj

está faltando um espaço entre gdb e aspas


Coloquei espaço mais não funcionou...


Responder Citar

07/12/2005

Edilcimar

o gbak está no mesmo diretório do executável, ou em um diretório do path?


Responder Citar

07/12/2005

Max.sgj

o gbak está no mesmo diretório do executável, ou em um diretório do path?


Não


Responder Citar

07/12/2005

Max.sgj

o gbak está no mesmo diretório do executável, ou em um diretório do path?


Mas o WinExec e para criar o arquivo BAK


Responder Citar

07/12/2005

Edilcimar

eu sei, mas se o seu programa está em c:\meuprograma e o gbak está em c:\firebird, ele não vai achar nunca


Responder Citar

07/12/2005

Max.sgj

eu sei, mas se o seu programa está em c:\meuprograma e o gbak está em c:\firebird, ele não vai achar nunca


Coloquei o arquivo GBAK junto com o banco de dados...


Responder Citar

07/12/2005

Edilcimar

coloque o gback junto com o executável ou em c:\window\system ou c:\windows\system32 e depois dê o comando, veja este exemplo aqui ele funciona perfeitamente
Caminho := D:\ + Dia +´\´;
WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore loja1\foto1.fdb ´´+ Caminho + ´foto1.bak´),1)


Responder Citar

07/12/2005

Max.sgj

Esta dando erro...

(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´ C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\´BD.bak´),1);


Responder Citar

07/12/2005

Edilcimar

depois do gdb vc fecho aspas, esqueceu o + e esqueceu de abrir aspa


Responder Citar

07/12/2005

Max.sgj

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´ + C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\+´´BD.bak´),1);

Não estou entendendo...


Responder Citar

07/12/2005

Edilcimar

todo o contexto é uma string, tem que ficar entre aspas, vc só está colocando uma parte dentro de string olhe atentamente o que eu escrevi e verá que a única coisa que não está entre aspas é uma variável tipo string!


Responder Citar

07/12/2005

Max.sgj

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´ + C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\+´BD.bak´),1);



Está parando na segunda letra C:\


Responder Citar

07/12/2005

Edilcimar

é string, string tem que ficar entre aspas


Responder Citar

07/12/2005

Max.sgj

Veja está igualzinho ao exemplo mas para na segunda letra C:\

WinExec(Pchar(´gbak -user SYSDBA -pas masterkey -backup -v -ignore C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB ´´+C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\+´BD.bak´),1);


Responder Citar