HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.02.2010, 16:25
GhostOnline
Участник форума
Регистрация: 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..
 
Ответить с цитированием

  #2  
Старый 13.02.2010, 18:49
wolmer
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
С нами: 8947056

Репутация: 229
По умолчанию

Можно ли в делфи 7 создать структуру? (типа как в C++)
Если да то как?
 
Ответить с цитированием

  #3  
Старый 13.02.2010, 18:56
GhostOnline
Участник форума
Регистрация: 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..
 
Ответить с цитированием

  #4  
Старый 13.02.2010, 19:18
Twoster
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
 
Ответить с цитированием

  #5  
Старый 14.02.2010, 09:52
denjf
Участник форума
Регистрация: 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;
 
Ответить с цитированием

  #6  
Старый 15.02.2010, 00:14
alexey-m
Познающий
Регистрация: 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 ;
 
Ответить с цитированием

  #7  
Старый 14.02.2010, 11:40
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Как вариант - задать для этих эдитов свойство tag тем самым пронумеровав их.
Затем пробежаться по элементам формы и проверь нужный tag и записывать в этот элемент
 
Ответить с цитированием

  #8  
Старый 14.02.2010, 13:25
Nizhegorodets
Участник форума
Регистрация: 21.03.2009
Сообщений: 207
С нами: 9021828

Репутация: 119
По умолчанию

Поставил семерку и столкнулся с проблемой, что паскаль не хочет разворачиваться на весь экран.Не подскажите как решить эту проблему?
 
Ответить с цитированием

  #9  
Старый 14.02.2010, 22:35
=Zeus=
Участник форума
Регистрация: 10.08.2009
Сообщений: 238
С нами: 8817310

Репутация: 108
По умолчанию

Цитата:
Сообщение от Nizhegorodets  
Поставил семерку и столкнулся с проблемой, что паскаль не хочет разворачиваться на весь экран.Не подскажите как решить эту проблему?
Турбо паскаль развернуть? Alt+Enter
 
Ответить с цитированием

  #10  
Старый 15.02.2010, 00:00
DimkO
Новичок
Регистрация: 16.11.2008
Сообщений: 27
С нами: 9201836

Репутация: 6
По умолчанию

Цитата:
Сообщение от =Zeus=  
Турбо паскаль развернуть? Alt+Enter
это не совсем то,когда у меня на ноуте была виста,я тоже не мог паскаль развернуть на весь экран,и все только пожимали плечами,в ХР все отлично
наверное более новые версии OS уже не поддерживают такие программные продукты с их полной функциональностью))
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.