Ist jetzt schon gute 2 Monate her dass ich dieses Thema angeschnitten habe bin aber bislang leider noch nicht weitergekommen......
Ich hab einige neues getestet.....
Mit folgendem Code funktioniert die einbindung nicht korrekt.....
Delphi-Quellcode:
function TIEDownloadManager.Download(pmk: IMoniker; pbc: IBindCtx;
dwBindVerb: DWORD; grfBINDF: DWORD; pBindInfo: PBindInfo; pszHeaders,
pszRedir: PWidechar; uiCP: UINT): HRESULT;
var
Url: PWidechar;
begin
pmk.GetDisplayName(pbc,
nil,
Url);
Showmessage (
URL);
Result := E_NOTIMPL;
end;
lasse ich jedoch
Showmessage (URL);
weg.... funktioniert es....
okay was macht showmessage - es macht nichts anderes als dass es eine Form erstellt und es MODAL! aufruft.....
stellen wir das mit einer Form selbst nach......
Delphi-Quellcode:
function TIEDownloadManager.Download(pmk: IMoniker; pbc: IBindCtx;
dwBindVerb: DWORD; grfBINDF: DWORD; pBindInfo: PBindInfo; pszHeaders,
pszRedir: PWidechar; uiCP: UINT): HRESULT;
var
Url: PWidechar;
begin
EigeneForm := TCallBackForm.Create(
nil);
EigeneForm.ShowModal;
EigeneForm.Free;
Result := E_NOTIMPL;
end;
hiermit tritt das selbe problem auf.... rufe ich jedoch jetzt die form nicht modal auf sondern nur mit show - klappt das ganze....
Delphi-Quellcode:
function TIEDownloadManager.Download(pmk: IMoniker; pbc: IBindCtx;
dwBindVerb: DWORD; grfBINDF: DWORD; pBindInfo: PBindInfo; pszHeaders,
pszRedir: PWidechar; uiCP: UINT): HRESULT;
var
Url: PWidechar;
begin
EigeneForm := TCallBackForm.Create(
nil);
EigeneForm.Show;
sleep(2000);
EigeneForm.Free;
Result := E_NOTIMPL;
end;
Demnach dürfte wohl irgendetwas in der Funktion ShowModal die ganze sache zum kippen bringen....
das blöde dabei ist dass auch das problem bei der verwendung von ShellExecute auftritt. Was ich eigentlich ursprünglich auch brauche
Hat jemand einen Tipp für mich?