Цитата:
	
	
		| 
			
				 Сообщение от NumLock 
				через IScriptControl, надеюсь? тогда смотри его методы Eval, ExecuteStatement, Run. 
			
		 | 
	
	
 
Извините, я немного не правильно поставил вопрос, не совсем точно.
Конструкцию для запуска скрипта я использую 
	Код:
	  sc:=CreateOLEObject('MSScriptControl.ScriptControl');
  SC.Language:='VBScript';
  SC.Timeout:=-1;
  SC.AllowUI:=True;
  SC.ExecuteStatement(Memo1.Text); 
 
На данный момент я получил такуб конструкцию с помощью которой можно вернуть из скрипта с помощью Eval значение 
	Код:
	Dim Name1(10, 5)
'Name1=Array(1,2,3)
Dim i
i=0
Set wmio = GetObject("WinMgmts:{impersonationLevel=impersonate}!\\" & "eoi-004-06" & "\Root\CIMV2")
'Set Name1 = wmio.ExecQuery("Select * from Win32_LogicalDisk")
    For Each objItem in wmio.ExecQuery("Select * from Win32_LogicalDisk WHERE DriveType = 3 AND Size IS NOT NULL")
        Name1(i, 0)=objItem.Name
        Name1(i, 1)=objItem.FileSystem
        Name1(i, 2)=objItem.Size
        Name1(i, 3)=objItem.FreeSpace
        Name1(i, 4)=objItem.VolumeSerialNumber
        i=i+1
    Next 
 
но она слишком большая и это только информация о локальных дисках. И получается что при сборе всей информации код получается слишком большой. Можно ли как то упростить данную конструкцию и передать в программу Delphi сразу всю структуру которую возвращает 
	Код:
	wmio.ExecQuery("Select * from Win32_LogicalDisk WHERE DriveType = 3 AND Size IS NOT NULL")