Zitat:
Welche Delphi-Version setzt du denn ein?
momentan
RAD Studio 2007 - das Problem ist aber unter Delphi 7 identisch
Zitat:
Ich glaube, dass das
DDE-Topic gar keine Leerzeichen haben darf.
Das ist gut möglich, aber so ist's nun mal. Da hält sich scheibar nicht jeder dran.
Zitat:
Wenn der Sourcecode vorhanden ist wäre ein kopie der Sourcen DDEMan möglich um die direkte verwendung des Namens (if (Ctrl.Name = ItemName) and ..) durch eine property "DDEName" zu ersetzen.
Das wäre durchaus möglich, hab sowas aber noch nie gemacht. Eine Kopie in meinem Projektordner kann ich ja problemlos modifizieren.
Wo und wie müßte man denn da ansetzen?
Hier die Deklaration des TDdeServerItem aus der ddeman.pas
Delphi-Quellcode:
{ TDdeServerItem }
TDdeServerItem =
class(TComponent)
private
FLines: TStrings;
FServerConv: TDdeServerConv;
FOnChange: TNotifyEvent;
FOnPokeData: TNotifyEvent;
FFmt: Integer;
procedure ValueChanged;
protected
function GetText:
string;
procedure SetText(
const Item:
string);
procedure SetLines(Value: TStrings);
procedure SetServerConv(SConv: TDdeServerConv);
procedure Notification(AComponent: TComponent;
Operation: TOperation);
override;
public
constructor Create(AOwner: TComponent);
override;
destructor Destroy;
override;
function PokeData(Data: HDdeData): LongInt;
procedure CopyToClipboard;
procedure Change;
dynamic;
property Fmt: Integer
read FFmt;
published
property ServerConv: TDdeServerConv
read FServerConv
write SetServerConv;
property Text:
string read GetText
write SetText;
property Lines: TStrings
read FLines
write SetLines;
property OnChange: TNotifyEvent
read FOnChange
write FOnChange;
property OnPokeData: TNotifyEvent
read FOnPokeData
write FOnPokeData;
end;
implementation
uses SysUtils, Dialogs, Consts, Clipbrd;
type
EDdeError =
class(
Exception);
TDdeSrvrConv =
class;
{ TDdeSrvrItem }
TDdeSrvrItem =
class(TComponent)
private
FConv: TDdeSrvrConv;
FItem:
string;
FHszItem: HSZ;
FSrvr: TDdeServerItem;
protected
procedure SetItem(
const Value:
string);
public
constructor Create(AOwner: TComponent);
override;
destructor Destroy;
override;
function RequestData(Fmt: Word): HDdeData;
procedure PostDataChange;
property Conv: TDdeSrvrConv
read FConv
write FConv;
property Item:
string read FItem
write SetItem;
property Srvr: TDdeServerItem
read FSrvr
write FSrvr;
property HszItem: HSZ
read FHszItem;
end;