Вниз
Скачать: CL | DM;

CreateOleObject в Design-time   Найти похожие ветки 

← →
Wetnose   (2002-10-08 08:05) [0]

Создал компонент, который использует вызов CreateOleObject.
Однако, данная команда работает только в run-time!

В design-time выдаётся сообщение об ошибке, типа "Параметр задан неверно".

Почему?

Помогите!!!
Очень надо!!!


← →
Opuhshii ©   (2002-10-08 10:01) [1]

Моя твоя не понимайт!,..
если в В design-time выдаётся сообщение об ошибке, типа "Параметр задан неверно" -> Параметр задан неверно!!!

unit OLEComponent;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComObj;

type
TOLEComponent = class(TComponent)
private
FOLE:Variant;
FOLECLASS:string;
procedure SetOLECLASS(aName:String);
{ Private declarations }
protected
{ Protected declarations }
public
constructor Create(aOwner:TComponent);override;
destructor Destroy;override;
{ Public declarations }
published
property OLECLASS:string read FOLECLASS write SetOLECLASS;
{ Published declarations }
end;

procedure Register;

implementation

procedure Register;
begin
RegisterComponents("Standard", [TOLEComponent]);
end;

procedure TOLEComponent.SetOLECLASS(aName:String);
begin
FOLE:=0;
FOLECLASS:=aName;
FOLE:=CreateOleObject(OLECLASS);
if AnsiSameText(OLECLASS,"Excel.Application") then begin
FOLE.Workbooks.Add;
FOLE.Visible:=True;
end;
end;

constructor TOLEComponent.Create(aOwner:TComponent);
begin
Inherited Create(AOwner);
OLECLASS:="Excel.Application";
end;

destructor TOLEComponent.Destroy;
begin
FOLE:=0;
Inherited Destroy;
end;

end.


← →
REA   (2002-10-08 10:33) [2]

Имхо нужно variant явно к типу интерфейса приводить с помощью as



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
14-56306
PVOzerski
2002-09-23 02:42
2002.10.17
А не заняться ли антирекламой?


1-56040
dimon79
2002-10-08 11:48
2002.10.17
FormPaint


14-56340
Nikolas ShmuS
2002-09-25 23:52
2002.10.17
КиШ


1-56159
Abajun
2002-10-07 12:17
2002.10.17
CheckBox ы


1-56169
R15
2002-10-07 13:47
2002.10.17
Помогите начинающему!




   Наверх