Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Присвоенное программно свойство не работает 
:(
    Опции темы
SeNeKa
Дата 8.12.2005, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Динозавр
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.9.2005
Где: паб "Гарцующ ий Пони"

Репутация: нет
Всего: нет



Код

unit MainUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, registry, ComCtrls;

type
  TMainForm = class(TForm)
    PageList: TPageControl;
    TabSheet1: TTabSheet;
    GroupBox1: TGroupBox;
    CPULabel: TLabel;
    CPUEdit: TEdit;
    Label1: TLabel;
    NomRatEdit: TEdit;
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;
  CPUType:string;
  CPUModel:string;
  Reg: TRegistry;

implementation

{$R *.dfm}
//{$I include\AMDInfo.inc}
//{$I include\CPUCache.inc}
//{$I include\ExtCPUInfonFeat.inc}
//{$I include\IntelInfo.inc}
//{$I include\Multipliers.inc}
//{$I include\OtherInfo.inc}
//{$I include\StandartCPUInfo.inc}
//{$I include\Transmeta.inc}

procedure TMainForm.FormShow(Sender: TObject);
const
DelayTime = 500;
var
TimerS, TimerE: Int64;
PriorityClass, Priority: Integer;
begin
 // CPU Model
   try
      Reg := TRegistry.Create;
      Reg.RootKey := HKEY_LOCAL_MACHINE;
      Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', true);
      CPUType:=Reg.ReadString('ProcessorNameString');
      Delete(CPUType, 1, 16);
      CPUEdit.Text:=CPUType;
      //CPUModel:=Reg.ReadString('Identifier');}
      //âñòàâêà
   except
      CPUEdit.Text := 'N/A';
//      CPUModel.Text := 'N/A';
   end;
   {// Return CPUFrequency in Mhz
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
Sleep(10);
asm
dw 310Fh
mov DWORD PTR TimerS, eax
mov DWORD PTR TimerS+4, edx
end;
Sleep(DelayTime);
asm
dw 310Fh
mov DWORD PTR TimerE, eax
mov DWORD PTR TimerE+4, edx
end;
SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);
//CPUEdit.Text:=CPUType;}
end;


end.


ASM-код - нереализованная функция.

Суть в том, что в свойство Text объекта CPUEdit не отправляются через переменную CPUType типа String запросы из реестра.

Самая соль в том, что прога компилится даже без варнингов, но в EvaluateModify стоит ошибка, о том, что переменная CPUEdit не определена
PM MAIL   Вверх
_hunter
Дата 8.12.2005, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



ты, может за блоком смотриш

Поставь после try ShowMessage(CPUEdit);


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
SeNeKa
Дата 8.12.2005, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Динозавр
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.9.2005
Где: паб "Гарцующ ий Пони"

Репутация: нет
Всего: нет



Не помогает.

ShowMessage(CPUEdit) - error
ShowMessage(CPUEdit.Text) и ShowMessage(String(CPUEdit)) - остается глюк
PM MAIL   Вверх
_hunter
Дата 8.12.2005, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



ааа... ну да CPUEdit.Text.
а что за глюк с ShowMessage(CPUEdit.Text)?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Albinos_x
Дата 8.12.2005, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата
ShowMessage(CPUEdit) - error

есто понятно - не совпадение типов...
что вот это выдаёт
Цитата
ShowMessage(CPUEdit.Text)

или
Цитата
ShowMessage(CPUType)

отследи получение данных в пошаговой отладке или поставь предыдущую строку так:
Код
...
CPUType:=Reg.ReadString('ProcessorNameString');    
ShowMessage(CPUType);
      Delete(CPUType, 1, 16);    
ShowMessage(CPUType);
      CPUEdit.Text:=CPUType;
...


у тебя проц какой?
я конечно код твой не пробовал... но судя по коду у меня CPUEdit.Text=ssor;
зачем:
Код

Delete(CPUType, 1, 16);

делаешь? может из-за этого роблемма


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Albinos_x
Дата 8.12.2005, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата
try
      Reg := TRegistry.Create;
      Reg.RootKey := HKEY_LOCAL_MACHINE;
      Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', true);
      CPUType:=Reg.ReadString('ProcessorNameString');
      Delete(CPUType, 1, 16);
      CPUEdit.Text:=CPUType;
      //CPUModel:=Reg.ReadString('Identifier');}
      //âñòàâêà
   except
      CPUEdit.Text := 'N/A';

здесь лучше сделать:
Код

      Reg := TRegistry.Create;    
      Reg.RootKey := HKEY_LOCAL_MACHINE;    
      if Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', true) then
         begin    
         CPUType:=Reg.ReadString('ProcessorNameString');    
         CPUEdit.Text:=CPUType;
         end
         else    
         CPUEdit.Text := 'N/A';
      Reg.free;
...



Это сообщение отредактировал(а) Albinos_x - 8.12.2005, 21:18


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
SeNeKa
Дата 8.12.2005, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Динозавр
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 4.9.2005
Где: паб "Гарцующ ий Пони"

Репутация: нет
Всего: нет



Из мухи сделал слона.

Просто случайно убрал декларирование в объектном инспекторе эвента onshow и понеслось.

Проблема решена.


Albinos_x

Спасибо


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1166 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.