Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Вниз

передача значений параметров потоку   Найти похожие ветки 

 
Tori ©   (2005-10-23 17:48) [0]

Помогите пожалуйста разрешить следующую проблему:
есть функция в .dll файле:
function MyFunction(const sPash:string):string; export;
begin
 Application.Initialize;
 Application.CreateForm(TDataModule2, DataModule2);
 Application.CreateForm(TForm2, Form2);
 Application.Run;
 Form2.Visible:=True; // для события TForm2.OnShow прописан тот же обработчик что и для TForm2.Button1Click
 Result:=sPash;
end;
По идее после Form2.Visible:=True; срабатывает
procedure TForm2.Button1Click(Sender: TObject);
begin
potok1 := TMyTread.Create(True);
potok1.FreeOnTerminate := True;
potok1.OnTerminate := Form2.OnDestroy;
potok1.Priority := tpIdle ;
potok1.Resume;
end;

procedure TForm2.FormDestroy(Sender: TObject);
begin
Application.Terminate;
end;

Необходимо в функцию MyFunction в качестве параметра передавать путь+имя к .ini файлу.
Это значение используется в процедуре
procedure TMyTread.Execute; и в функции которая вызывается во время выполнения procedure TMyTread.Execute;
Т.е.
type
 TMyTread = class(TThread)
 protected
   procedure Execute; override;
 end;

procedure TMyTread.Execute;
var
i: Integer;
go_exit : Boolean;
zz1, zz3 : _STARTUPINFOA;
zz2, zz4 : _PROCESS_INFORMATION;

begin
Application.Minimize;
ReadIni("S_ASCHET", "<путь+имя .ini файла>"); // это функция в которую необходимо передать параметр из MyFunction;
.........................................................................
CreateProcess(PChar(sc.BeforeRev("\", "<путь+имя .ini файла>") + "\FOX\CRE_IND1.EXE"),
          nil, nil, nil,
          False,
          CREATE_DEFAULT_ERROR_MODE, nil,
          PChar(sc.BeforeRev("\", "<путь+имя .ini файла>")), zz3, zz4);
..........................................................
end;

Так вот каким образом из MyFunction(<путь+имя .ini файла>) передать значение этого параметра в procedure TMyTread.Execute; а оттуда уже в function ReadIni(ASection, sPash:string):string;?
Помогите пожалуйста!!!


 
Bes ©   (2005-10-23 20:44) [1]

уууу.... а ты перед тем как браться за потоки, книжу по ООП почитай....
Раздел - свойства объектов.

а то блин накопи-пайстил сорц и терь не знаешь что с ним делать...

а надо добавить в раздел pulibc  класса TFrom2 и TMyThread
св-во path:string и через него передавай...а как почитай. инет - друг твой.


 
Eraser ©   (2005-10-23 22:29) [2]


> Tori ©   (23.10.05 17:48)

Переопредели конструктор потока, которому и передавай имя файла.


 
Digitman ©   (2005-10-24 08:47) [3]


> Tori ©   (23.10.05 17:48)  


кроме многих прочих несуразностей в твоем алгоритме непонятно самое главное - зачем вообще здесь нужен thread, при том что обработка ini-файла и так уже выполняется параллельно с вызывающим приложением, в отдельном создаваемом тобой процессе ?


 
Leonid Troyanovsky ©   (2005-10-24 08:47) [4]


> Tori ©   (23.10.05 17:48)  
> Помогите пожалуйста разрешить следующую проблему:
> есть функция в .dll файле:


Оную функцию (вместе с длл) - в печь.

--
Regards, LVT.


 
Tori ©   (2005-10-26 18:50) [5]

Спасибо Bes! Спасибо Eraser! Книжку почитала. Сделала так как посоветовали - все получилось!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
2-1131083532
Gia
2005-11-04 08:52
2005.11.20
DBEdit


3-1128580093
MVVD
2005-10-06 10:28
2005.11.20
Принтер и быстродействие


6-1123313271
MuxauJl
2005-08-06 11:27
2005.11.20
ъДТБЧУФЧХКФЕ! У меня проблемы с кодировкой


2-1130407093
Ольга
2005-10-27 13:58
2005.11.20
Ошибка при создании XMLDoc


3-1128587181
msguns
2005-10-06 12:26
2005.11.20
Access. JOIN более 2 таблиц





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский