Definir variável pelo nome

Delphi

08/02/2007

Tenho um arquivo texto com milhares de linhas com o seguinte formato:
[b:52108f51c4]chave;valor[/b:52108f51c4]

Também tenho um comando com a seguinte sintaxe:
[b]cxSetResourceString(ResString: Pointer; Value: string)/[b]

No meu arquivo texto, na coluna chave tenho o nome dos ponteiros e na coluna valor os valores que quero passar no parâmetro Value.

Minha dúvida é a seguinte: existe algum meio de eu passar a coluna chave no parâmetro ResString que é um ponteiro?


Rjun

Rjun

Curtidas 0

Respostas

Massuda

Massuda

08/02/2007

Parece que o primeiro parâmetro da sua função é um ponteiro para um [b:8c9a9dc2a2]resourcestring[/b:8c9a9dc2a2]. Nesse caso, você teria que ter um mecanismo para localizar a variável resourcestring que corresponde à chave lida e então usar essa variável resourcestring na função.


GOSTEI 0
Rjun

Rjun

08/02/2007

Sim, é isso mesmo. O primeiro parâmetro é um ponteiro para um resourcestring. Estou fazendo a tradução de mensagens de uma suite de componentes e para fazer essa alteração eu preciso alterar as mensagens do resourcestring em run-time.

Tem como, a partir do nome da resourcestring eu obter seu endereço?


GOSTEI 0
Massuda

Massuda

08/02/2007

Tem como, a partir do nome da resourcestring eu obter seu endereço?
Acho que não tem jeito, porque internamente um resourcestring é basicamente um número (índice) para uma tabela de strings localizada nos resources do executável.

Acho que você terá que fazer uma função mapeando a chave com a variável correspondente.


GOSTEI 0
POSTAR