31-03-2013, 09:34 PM
اذن البرامتر عادية .. اذن لا مشكلة
استعمل الدالة LoadLibrary لتحميل المكتبة Python.dll , ثم الدالة GetProcAddress وتمرير اسم الدالة وانتهينا ..
أعتقد ان استعمالها سيكون بهذا الشكل -مع افتراض أن Delphi File = Cpp File type
------------------------------------------------
مجرد فضول .. لماذا تلجأ الى كل هذه التعقيدات !!! .. ودلفي تتيح لك كل ما يلزم للتعامل مع الملفات !!!
استعمل الدالة LoadLibrary لتحميل المكتبة Python.dll , ثم الدالة GetProcAddress وتمرير اسم الدالة وانتهينا ..
أعتقد ان استعمالها سيكون بهذا الشكل -مع افتراض أن Delphi File = Cpp File type
PHP كود :
type PyRun_SimpleFileType = function(var f: file; s: PChar): boolean; stdcall;
var myFile: file;
hLib: THandle;
SimpleFile, Py_Initialize, Py_Finalize: FARPROC;
PyRun_SimpleFile: PyRun_SimpleFileType;
const a2l_reader: string = 'a2l_reader.py';
begin
PyRun_SimpleFile := nil;
AssignFile(myFile, 'some file');
ReWrite(myFile);
hLib := LoadLibrary(PChar('python22.dll'));
Py_Initialize := GetProcAddress(hLib, 'Py_Initialize');
asm
pushad
call Py_Initialize
popad
end;
PyRun_SimpleFile := GetProcAddress(hLib, 'PyRun_SimpleFile');
if not Assigned(PyRun_SimpleFile) then
raise Exception.Create('Error ..');
PyRun_SimpleFile(myfile, 'a2l_reader.py');
Py_Finalize := GetProcAddress(hLib, 'Py_Finalize');
asm
pushad
call Py_Finalize
popad
end;
CloseFile(myFile);
FreeLibrary(hLib);
end;
مجرد فضول .. لماذا تلجأ الى كل هذه التعقيدات !!! .. ودلفي تتيح لك كل ما يلزم للتعامل مع الملفات !!!

