привет им новый delphi. как использовать две функции одновременно? function a (...): integer; Функция b (...): целое;Как использовать две функции одновременно?
потому что b ждет, пока a не зажжется.
привет им новый delphi. как использовать две функции одновременно? function a (...): integer; Функция b (...): целое;Как использовать две функции одновременно?
потому что b ждет, пока a не зажжется.
Вам необходимо знать многопоточность. вы можете начать с учебника в about.com
Это делается с использованием потоков. Однако это расширенная тема, и вы можете лучше изучить основы программирования, прежде чем начинать с потоков.
+1 для "продвинутой темы". OP может даже не выполнять параллельное выполнение, но это то, что, как представляется, предлагается. –
есть также библиотека «AsyncCalls», которая делает то, что вам нужно. Пожалуйста, обратите внимание на http://andy.jgknet.de/blog/?page_id=100
Предполагая, что Delphi 2009 или выше, и с помощью OmniThreadLibrary:
uses OtlParallel;
var
aRes: integer;
bRes: integer;
begin
Parallel.Join(
procedure begin
aRes := a();
end,
procedure begin
bRes := b();
end);
end.
Или для пуристов, которые не любят анонимные функции:
uses OtlParallel;
var
aRes: integer;
bRes: integer;
procedure CalcA;
begin
aRes := a();
end;
procedure CalcB;
begin
bRes := b();
end;
begin
Parallel.Join(CalcA, CalcB);
end.
(Это работа работа по то же самое, если CalcA и CalcB являются методами, а не обычными процедурами.)
Как указывали другие, поле многогранников ng программирование полна опасности. Убедитесь, что ваши две функции не изменяют одинаковые структуры, а не выводят данные в один и тот же пункт назначения и, прежде всего, что они не используют графический интерфейс каким-либо образом.
thanx для ссылок ... его хороший jumpstart .. –