Array
(
)

WinExec não consigo executar...

Max.sgj
   - 07 dez 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);


Edilcimar
   - 07 dez 2005

está faltando um espaço entre gdb e aspas


Max.sgj
   - 07 dez 2005


Citação:
está faltando um espaço entre gdb e aspas


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


Edilcimar
   - 07 dez 2005

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


Max.sgj
   - 07 dez 2005


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


Não


Max.sgj
   - 07 dez 2005


Citação:
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


Edilcimar
   - 07 dez 2005

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


Max.sgj
   - 07 dez 2005


Citação:
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...


Edilcimar
   - 07 dez 2005

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)


Max.sgj
   - 07 dez 2005

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);


Edilcimar
   - 07 dez 2005

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


Max.sgj
   - 07 dez 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);

Não estou entendendo...


Edilcimar
   - 07 dez 2005

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!


Max.sgj
   - 07 dez 2005


Citação:
=]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:\


Edilcimar
   - 07 dez 2005

é string, string tem que ficar entre aspas


Max.sgj
   - 07 dez 2005

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);


Edilcimar
   - 07 dez 2005

não está, cadê a aspa, string tem que ficar entre aspas, coloque as aspas que aí funciona, por que é que vc tirou as aspas anteriores mudando ela de lugar, mais uma vez string tem que ficar entre aspas, caminho é string


Max.sgj
   - 07 dez 2005

Consegui mas não está criando o arquivo...


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);


Edilcimar
   - 07 dez 2005

Até que enfim!
O diretório existe?
O caminho do diretório está correto?
O nome do BD está correto?
Não tenho certeza, mas parece que o gback não aceita nomes de diretórios com espaço!


Max.sgj
   - 07 dez 2005


Citação:
Até que enfim!
O diretório existe?
O caminho do diretório está correto?
O nome do BD está correto?
Não tenho certeza, mas parece que o gback não aceita nomes de diretórios com espaço!


Vou mudar o arquivo de lugar para ver se funciona...


Max.sgj
   - 07 dez 2005

Mudei para c:\ mas só aparece a janela do DOS repetidamente e o arquivo não é criado...

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