Invalid data type for 'ProtocolOrder'이라는 에러가 생기네요?
변수형태가 string으로만 선언이 되는데 ReadString으로 읽으면 에러가 생기니 참......
해결방법이 없나요?
<!--
var
MyReg: TRegistry;
Porder:string;
MyReg := TRegistry.Create;
with MyReg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('\Software\Microsoft\MSSQLServer\Client\SuperSocketNetLib',False);
Porder[0] := ReadString('ProtocolOrder');
if pos('tcp',Porder) = 0 then
WriteString('ProtocolOrder','tcp');
CloseKey;
Free;
end;
-->
그 키는 문자열값이 아니라 문자열배열값이구요. 레지스트리 편집기로 열어보시면 REG_SZ이 아니라 REG_MULTI_SZ일겁니다.
델파이에서 읽을때는 GetDataInfo와 ReadBinaryData함수를 이용해서 읽어오실 수 있습니다.
REG_MULTI_SZ형은 널종료문자열배열이고 마지막에 널문자가 하나 더들어가 있습니다.
이런식으로 문자열 널 문자열 널 ... 문자열 널 널
^^ 항상 즐코하세요...