با سلام میشه بگید دستور CoInitialize و CoUninitialize چه کاری انجام میدن؟
کد:
try
CoInitialize(nil);
try
finally
CoUninitialize;
end;
except
on E:Exception do
Begin
Writeln(E.Classname, ': ', E.Message);
End;
end;
با تشکر
اینها توابع استفاده از توابع کتابخانه com یا همون اکتیوایکسها میباشد
CoInitialize یک کتابخانه com رو در ترد جاری برنامه مقدار دهی اولیه initial میکنه البته برای برنامه های مولتی ترد باید از CoInitializeEx استفاده کنید
CoUninitialize هم کتابخانه اجرا شده در ترد جاری را میبندد
میشه با یک مثال بیشتر توضیح بدی لطفا :-)
کد:
uses SysUtils, ActiveX, XMLintf, XMLDoc;
procedure DoSomething;
var
Document: IXMLDocument;
begin
Document := TXMLDocument.Create('foo.xml');
end;
begin
CoInitialize(nil);
DoSomething;
CoUninitialize;
end.
مبین یه یونیت واسه جایگزینی classes واسه دلفی 7 سراغ نداری؟
TStringList,MemoryStream رو میخوام فراخوانی کنم اما Classes حجم رو خیلی خروجی رو خیلی بالا میبره دستی هم خواستم جدا کنم 1 ساعت وقت گرفت آخرش هم بیخیال شدم
خب واسه tmemorystream میتونی با استفاده از توابع Createfile-openfile-readfile توابع api اونو پیاده کنی رو نت پیاده سازی شدش زیاد هست
ولی واسه Tstringlist یه کم دردسر داره تازه چیز خاصی هم ندیدم مگه اینکه یک ارایه رو تو یه کلاس کپسوله کنی و باقی قضایا
اونجوری میتونم اما اعصابش رو ندارم خیلی وقت میبرهیه چیز کم حجم و آماده میخوام که سریع کارمو راه بندازه اذیتمم نکنه
از یونیتهای
Erazer نوشته استفاده کن