Pergunta

Ok minha aplicação faz tudo o que é suppeded que fazer e ele faz a mesma coisa de cada vez, então não é como se o teste foi ter ido embora tanto problema.

ele trava "somtimes" nem sempre. ele faz isso quando eu passar o mouse sobre um arquivo na caixa de diálogo de arquivo aberto i ter emitido recentemente. não instantaneamente ele espera cerca de meio segundo a um segundo, e eu sei que é quando o OpenFileDialog traz dados como tamanho do arquivo e quando foi criado e que tipo de documento é .. (standard) Informação mouse .. a coisa é isso é usando o "OpenDialog" e eu não escrever este código para que este erro não é da minha fazendo é ?????? se é como ,, se não é como / o que posso fazer para pará-lo ..

o tipo de erro é um "acesso violação no endereço" bla ...

A janela de arquivo aberto não tem filtros e é exatamente como ele fora da bandeja compoent e deixa de funcionar depois que eu chamo de "opendialog.execute"

i initialy pensava que ele ainda pode ser escrito para ele, mas então ele continuou depois parei o aplicativo abrir qualquer novo arquivo até que o último tinha compleated o salvamento processo.

Como eu disse que does not mesmo acontecer 100% o tempo todo ,, e não é específico da máquina .. cai em 3 diferentes win xp pc.

HELP !!

Adicional; descobertas i pode abrir e executar o arquivo e está tudo bem, desde que eu não fazer uma caixa de dica para aparecer em um arquivo eu criei.

Foi útil?

Solução

Gota um TApplicationEvent s componente no seu formulário e adicionar um manipulador de eventos para o OnHint evento. Em seguida, coloque um break point lá e veja se você pode quebrar em que, antes de ele trava (como você disse, parece que ele está deixando de funcionar quando ele tenta exibir a dica). Depois, você pode compilar com debug DCU 's and trace e ver o que está falhando diante.

Meu palpite é que você ainda tem um identificador de arquivo com um bloqueio exclusivo no arquivo talvez. Verifique os seus identificadores de arquivo e certifique-se que você está adequadamente fechá-los. O que acontece se você tentar um aberto desses arquivos de bloco de notas , enquanto o programa está sendo executado?

O comportamento intermitente pode estar relacionado a um caminho de código diferente em uma condição de erro que leva a um identificador de arquivo vazado.

Boa sorte!

Outras dicas

A caixa de diálogo de arquivo aberto é basicamente uma instância explorador. O que significa que cada extensão de shell que você instalou é carregado também. Um problema com isto é que uma vez que você usar a caixa de diálogo de arquivo aberto, cada extensão de shell também usa sua pilha para armazenar variáveis ??/ endereços de retorno, ... Se a sua pilha não é grande o suficiente, isso pode levar a falhas.

Tente aumentar o tamanho da pilha de sua aplicação.

A violação de acesso é provavelmente não relacionado com o diálogo aberto a todos. I fortemente que você sugiro que você olhar em seu código e certifique-se que você não está sobre-escrever limites de memória -Se você estiver usando matrizes dinâmicas verificar e garantir que você não está acessando um elemento fora da sua fronteira; a mesma coisa se você está alocando manualmente memória.

Se você não estiver usando FastMM, usá-lo. Tem algumas checagens boa memória.

proponho que você anexar um depurador ao processo, e descobrir o que exatamente faz com que o programa falhar. Este deve começar ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top