> > > Alexandre Rodrigues wrote: > > TTipoNaoFunciona = record > > Nome: string; > > Dado01: integer; > > Dado02: Double; > > end; > > > > Nesse caso, embora os dados 01 e 02 sejam retornados norlmamente o Nome > > retorna um valor inválido. > > > > TTipoFunciona = record > > Nome: array[0..255] of string; > > Dado01: array of string; > > Dado02: integer; > > Dado03: Double; > > end; > > > > Nesse caso como Dado01 é uma matriz de strings funciona normalmente. > > Isto ocorre porque o tipo string é, por padrão, uma ansi string, o que > significa um ponteiro para a região da memória em que está a sequência > de caracteres. Se você desabilitar a diretiva $H ou usar shortstring ao > invés de string o compilador irá criar uma string estática ao invés de > um ponteiro para string, e isto deverá resolver o problema. > > Joao Morais
João, Obrigado pela ajuda. Tentei usar shortstring e também não funcionou, esqueci de falar que também tentei usar um array dinâmico de caracters e também não funcionou. A única maneira é usar strings com terminação em nulo, ou seja matrizes de caracteres. O mais estranho de tudo é que usando uma matriz dinâmica de strings funciona! Vai entender. Agora não sei se é um bug do delphi ou não. _______________________________________________________ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/