Moin Zusammen,
möglicher Weise habe ich jetzt schon mal die Ursache gefunden, wenn auch noch keine Lösung, um das Problem zu umgehen.
Ein Auszug aus der AMovie_TLB.pas:
Code:
procedure TActiveMovie.InitControlData;
const
CEventDispIDs: array [0..7] of DWORD = (
$00000001, $00000002, $00000003, $00000032, $000003E7, $00000033,
$FFFFFD9F, $00000034);
CControlData: TControlData2 = (
ClassID: '{05589FA1-C356-11CE-BF01-00AA0055595A}';
EventIID: '{B6CD6553-E9CB-11D0-821F-00A0C91F9CA0}';
EventCount: 8;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil (*HR:$00000000*);
Flags: $00000008;
Version: 401);
begin
ControlData := @CControlData;
TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnStateChange) - Cardinal(Self);
end;
Die Zeile
TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnStateChange) - Cardinal(Self);
wird angemeckert mit der Meldung:
Der linken Seite kann nichts zugewiesen werden.
Meine Vermutung: Ich hatte diese Zeile in der ursprünglichen Installation auskommentiert, um über diesen Punkt wegzukommen, und dieses einfach "verdrängt"
Falls jemand eine Idee hat, wie sich diese Klippe umschiffen lässt ...
BTW:
Ja, ich habe gesehen, dass es sich bei CControlData um eine Konstante handelt.
****EDIT****
Inzwischen habe ich schon versucht mit
Code:
var
pControlDataWork : PControlData2;
begin
// ControlData := @CControlData;
// TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnStateChange) - Cardinal(Self);
ControlData := @CControlData;
pControlDataWork := @CControlData;
pControlDataWork^.FirstEventOfs := Cardinal(@@FOnStateChange) - Cardinal(Self);
end;
den Compiler auszutricksen.
Leider ohne Erfolg