PDA

View Full Version : مشکل با message queuing



behrooz
سه شنبه 12 شهریور 1387, 18:51 عصر
من برای بخشی از پروژه ارشد یکی از نزدیکترین دوستام که ای هفته دفاعیشه یه برنامه برای مدریت پیغامها نوشتم و از لینک زیر هم برش داشتم
http://dn.codegear.com/article/27363
ولی بعد اجرای برنامه کلاینت با پیغام خطای زیر مواجه میشم خواهشا کمکم کنید که دارم ضایع میشم، فوری لطفااا!


No Such Interface Supported

vcldeveloper
چهارشنبه 13 شهریور 1387, 01:39 صبح
کدی که خودتون نوشتید کجاست؟!
دقت داشته باشید که GUID نوشته شده در این خط:

QMoniker := 'Queue:/new:{A7ECB8CA-9BBB-4BAB-B018-33210095AE34}';
با GUID ایی که برای شما در هنگام ساخت Interfaceتون تولید شده، فرق میکنه. شما باید از GUID خودتون استفاده کنید، نه از GUID نوشته شده در اون کد.

behrooz
پنج شنبه 14 شهریور 1387, 12:17 عصر
یه مرحله رفتم جلوتر و به جای پیغامها کد اس کیو ال میفرستم و سرور اجرا میکنه ولی مشکل اینجاست که
تمام پیغامهایی که میفرستم فقط زمانی اجرا میشه که از برنامه کلاینت خارج میشم ولی من می خوام همان لحظه ارسال اجرا بشه. چی کنم؟
این کدش :


unit QdServer;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
ComObj, ActiveX, MyQdServer_TLB, StdVcl, Dialogs,ADODB,DB,Controls;

type
TQdComponent = class(TAutoObject, IQdComponent)
protected
procedure Task1(const TaskMessage: WideString); safecall;

end;

implementation

uses ComServ;

procedure TQdComponent.Task1(const TaskMessage: WideString);
var
RecordSet: OleVariant;
SelectString : string;
SelectString :=TaskMessage;
RecordSet := CreateOleObject('ADODB.Recordset');
RecordSet.Open(SELECTSTRING, 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=td;Data Source=192.168.0.8');
end;

initialization
TAutoObjectFactory.Create(ComServer, TQdComponent, Class_QdComponent,
ciMultiInstance, tmApartment);
e