Форум: "Основная";
Текущий архив: 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.046 c