
13.02.2010, 16:25
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
С нами:
9152955
Репутация:
84
|
|
Допустим есть некий пользовательский класс, существующий в приложении в единственном экземпляре.
Вопрос: достаточно ли для того чтобы сделать его потокобезопасным
добавить поле - критическую секцию, инициализировать ее в конструкторе, удалять в деструкторе а внутри методов класса входить в эту крит. секцию?
например вот так:
TMyClass = class
private
FCritSec : TRTLCriticalSection;
procedure TMyClass.SomeMethod();
begin
EnterCriticalSection(FCritSec);
try
//тут некоторые действия
finally
leaveCriticalSection(FCritSec);
end;
end;
Последний раз редактировалось GhostOnline; 13.02.2010 в 16:28..
|
|
|

13.02.2010, 18:49
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами:
8947056
Репутация:
229
|
|
Можно ли в делфи 7 создать структуру? (типа как в C++)
Если да то как?
|
|
|

13.02.2010, 18:56
|
|
Участник форума
Регистрация: 20.12.2008
Сообщений: 277
С нами:
9152955
Репутация:
84
|
|
можно
в разделе type например:
TMyStruct = record
I : Integer;
Str : String;
Count : Float;
.....
end;
Потом объявляешь переменную этого типа:
var
Struct : TMyStruct
И используешь:
begin
Struct.I := 0;
.....
Последний раз редактировалось GhostOnline; 13.02.2010 в 18:59..
|
|
|

13.02.2010, 19:18
|
|
Reservists Of Antichat - Level 6
Регистрация: 20.08.2008
Сообщений: 328
С нами:
9328706
Репутация:
1503
|
|
Ребята, очень нужен компонент или просто юнит с реализацией протокола mail.ru agent, скачал один компонент (http://yxu.org.ru/files/client.rar) не робит походу... буду очень благодарен. 
__________________
You may say I'm a dreamer
But I'm not the only one
|
|
|

14.02.2010, 09:52
|
|
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
С нами:
9207335
Репутация:
21
|
|
Сталкнулся с таким приколом первый раз и затупил...
procedure TForm1.FormCreate(Sender: TObject);
var
msf:textfile;
mes:string;
begin
assignfile(msf,'msgs.txt');
reset(msf);
while not Eof(msf) do
begin
readln(msf,mes);
form1.Edit1.Text:=mes;
{Здесь мне надо менять form1.Edit2.Text, form1.Edit3.Text и т.д. Как это зделать???}
end;
end;
|
|
|

15.02.2010, 00:14
|
|
Познающий
Регистрация: 15.07.2009
Сообщений: 71
С нами:
8854881
Репутация:
35
|
|
Сообщение от denjf
Сталкнулся с таким приколом первый раз и затупил...
procedure TForm1.FormCreate(Sender: TObject);
var
msf:textfile;
mes:string;
begin
assignfile(msf,'msgs.txt');
reset(msf);
while not Eof(msf) do
begin
readln(msf,mes);
form1.Edit1.Text:=mes;
{Здесь мне надо менять form1.Edit2.Text, form1.Edit3.Text и т.д. Как это зделать???}
end;
end;
TEdit(FindComponent('Edit'+IntToStr(i))).Text:=mes ;
|
|
|

14.02.2010, 11:40
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Как вариант - задать для этих эдитов свойство tag тем самым пронумеровав их.
Затем пробежаться по элементам формы и проверь нужный tag и записывать в этот элемент
|
|
|

14.02.2010, 13:25
|
|
Участник форума
Регистрация: 21.03.2009
Сообщений: 207
С нами:
9021828
Репутация:
119
|
|
Поставил семерку и столкнулся с проблемой, что паскаль не хочет разворачиваться на весь экран.Не подскажите как решить эту проблему?
|
|
|

14.02.2010, 22:35
|
|
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
С нами:
8817310
Репутация:
108
|
|
Сообщение от Nizhegorodets
Поставил семерку и столкнулся с проблемой, что паскаль не хочет разворачиваться на весь экран.Не подскажите как решить эту проблему?
Турбо паскаль развернуть? Alt+Enter
|
|
|

15.02.2010, 00:00
|
|
Новичок
Регистрация: 16.11.2008
Сообщений: 27
С нами:
9201836
Репутация:
6
|
|
Сообщение от =Zeus=
Турбо паскаль развернуть? Alt+Enter
это не совсем то,когда у меня на ноуте была виста,я тоже не мог паскаль развернуть на весь экран,и все только пожимали плечами,в ХР все отлично 
наверное более новые версии OS уже не поддерживают такие программные продукты с их полной функциональностью))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|