Работа с реестром. Считывание из одного параметра массив строк.

Grindex
Дата: 12.11.2007 16:51:36
Проблема следущая приложение написанное на C# сохраняет в своем ключе в один из параметров массив строк для понятности простой пример :
using System;
using Microsoft.Win32;
public class Example
{
public static void Main()
{
const string userRoot = "HKEY_CURRENT_USER";
const string subkey = "RegistrySetValueExample";
const string keyName = userRoot + "\\" + subkey;
string[] strings = {"One", "Two", "Three"};
Registry.SetValue(keyName, "TestArray", strings);
// Пример считывания
string[] tArray = (string[]) Registry.GetValue(keyName,"TestArray",new string[]);
}
}
Нужно в Delphi 7 считать из ключа HKEY_CURRENT_USER\RegistrySetValueExample параметр TestArray в виде массива строк.Возможно ли это в принципе? Поковырял Help для записи мультистрок в один пар-тр ничего не нашел. Проблема в том что процедуру записи в C# менять не могу и есть только пар-тр. Если знаете решение и не очень лень пожалуйста напишите ответ или хотя бы дайте ссылочку.
uses registry;
TForm1.FormCreate(Sender: TObject);
var Reg:Tregistry;
TestArray: TStrings;
begin
try
Reg:=Tregistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
TestArray := TStringList.Create;
Reg.OpenKey('\RegistrySetValueExample',true);
//Подходит только для одностроковых пар-ров а не массивов :(
//???TestArray :=Reg.ReadString('TestArray');
finally
Reg.Free;
TestArray.Free;
end;
end;
Grindex
Дата: 12.11.2007 17:41:14
Неужели никто не сталкивался с задачей хранить в реестре заранее неопределенное кол-во строк/любых значений?
A.K.
Дата: 12.11.2007 19:51:01
Grindex
//???TestArray :=Reg.ReadString('TestArray');

а если так:
TestArray.Text :=Reg.ReadString('TestArray');
Grindex
Дата: 13.11.2007 10:02:59
A.K.
Grindex
//???TestArray :=Reg.ReadString('TestArray');

а если так:
TestArray.Text :=Reg.ReadString('TestArray');

К огромному сожалению не выходит: в итоге получаем массив TestArray с одной строкой в которой помещено значение "System.Collections.ArrayList". Похоже это название системного класса в котором и хранятся значения, а их стандартными методами класса TRegistry не считать. Не подскажите как в делфи 7 просмотреть начинку метода ReadString класса TRegistry?
Dimitry Sibiryakov
Дата: 13.11.2007 11:00:36

Grindex

Не подскажите как в делфи 7 просмотреть начинку метода ReadString класса
TRegistry?

А что, каталог Source из него откусили пираты?

Posted via ActualForum NNTP Server 1.4

Grindex
Дата: 13.11.2007 11:35:08
Dimitry Sibiryakov

Grindex

Не подскажите как в делфи 7 просмотреть начинку метода ReadString класса
TRegistry?

А что, каталог Source из него откусили пираты?
Posted via ActualForum NNTP Server 1.4

Что-то оставили :D. Спасибо за наводку,делфяк недавно юзать понадобилось,буду ковырять. Что-нибудь получится - напишу.
A.K.
Дата: 13.11.2007 12:34:14
Прежде чем ковырять, запустите REGEDIT и покажите, что вообще записано в интересующем вас ключе реестра, и какого он типа.