Ich hab jetzt schone einiges zum Thema
ActiveX gelesen und gängige Foren rauf und runter durchsucht, aber entweder ist es so leicht, dass keiner drüber redet, oder so ungewöhnlich, dass niemand sowas programmiert!
Ich habe eine Komponente gebaut, die eine
dll verwendet. Daraus will ich ein
ActiveX-Element machen um es später unter Navision zu verwenden. Aber ich scheitere schon daran, dass
Delphi7 meine Komponente nicht in der Kombobox (
VCL-Klassenname) anzeigt, wenn ich das
ActiveX-Element neu erstellen will.
In
Delphi5 scheint meine Komponente zwar unter den
VCL-Klassennamen auf, aber wenn das
ActiveX-Element erstellt ist, sind alle meine Funktionen der Ursprünglichen Komponente weg.
Was mach ich da falsch???
Das ist übrigens meine Komponente (reduziert auf eine Funktion), die ich registriert habe:
Delphi-Quellcode:
unit Waagen;
interface
uses
SysUtils, Classes, Controls;
type
TWaagen =
class(TWinControl)
private
{ Private-Deklarationen }
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
procedure W_netErrorStr (iErrNr: smallint;
var ErrorText:
String);
published
{ Published-Deklarationen }
end;
procedure Register;
implementation
procedure netErrorStr (Error, MaxLen: smallint; ErrorText: PChar);
stdcall;
far;
external '
waagen.dll';
procedure TWaagen.W_netErrorStr(iErrNr: smallint;
var ErrorText:
String);
const
MAXLEN_ERRSTR = 81;
var
acErr:
array[0..MAXLEN_ERRSTR]
of char;
i: integer;
begin
netErrorStr(iErrNr, MAXLEN_ERRSTR, acErr);
ErrorText:='
';
for i:= 0
to MAXLEN_ERRSTR
do
begin
if acErr[i] = #0
then break;
ErrorText:= ErrorText + acErr[i];
end;
end;
procedure Register;
begin
RegisterComponents('
MyComponents', [TWaagen]);
end;
end.
Wäre für jede Hilfe dankbar...
mfg
rieder/IT
[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]