Isso realmente pode acontecer com o OpenDialog quando se seleciona o arquivo de 
outro diretório.
Faz assim:

if FileExists(ExtractFilePath(Application.ExeName)+'Imagem.bmp') then ....

Isso garante que estás abrindo o bmp do diretório do exe

Alessandro DUARTE de Moraes
A.C. Santa Casa do Rio Grande.
http://www.santacasarg.com.br

  ----- Original Message ----- 
  From: Celio Bernardo 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, March 05, 2008 1:15 PM
  Subject: [delphi-br] Mudança de diretório.


  Amigos, coisa estranha aqui.

  Tenho uma rotina que verifica a existência de arquivo .bmp que fica junto ao 
executável, para imprimi-lo usando: if FileExists('Imagem.bmp') then

  Acontece q qdo leio dados de outro arquivo (.txt ) em outro diretório usando 
o OpenDialog o aplicativo passa a verificar a existência do .bmp neste 
diretório onde li o arquivo .txt (ou outro qualquer) e acusa falta do mesmo. 
Fiz um teste simples colocando cópia do arquivo .bmp ( com visual diferente ) 
no diretório onde se encontra o .txt e passou tudo bem, porém imprimiu o aquivo 
do diretorio certo, o dele. Pedi para mostrar o diretorio corrente com o 
extractfiledir() e está normal.
  Já mandei um Application.ProcessMessages e nada;
  Agora, após ler o arquivo .txt de outro diretório, leio em seguida qualquer 
arquivo do diretório da aplicação, corre tudo normal.
  Que bicho pode ser isso? Parece qe o Exe se sente virtualmente no último 
diretório que acessou?

  Agradeço pela gentileza.

  Célio.

  ---------------------------------
  Célio Bernardo de Lima
  Diretor de Projetos e Novas Tecnologias
  siatech.com.br 
  ---------------------------------

  ---------------------------------
  Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento! 

  [As partes desta mensagem que não continham texto foram removidas]



   
  -------------------------- 
  E-mail Seguro Vetorial.net 

  Mensagem classificada como NÃO-SPAM. Para classificar como SPAM, 
  encaminhe para [EMAIL PROTECTED] 

  Chave de Identificação: 54568,47cec9d9285381002461653 


[As partes desta mensagem que não continham texto foram removidas]

Responder a