Ich verwende OLE mit Delphi, um von meiner Delphi-App nach Outlook zu kommunizieren.Wie zeigt man auf der Vorderseite (und nicht im Hintergrund) ein neues E-Mail-Formular in Outlook mit OLE?
Ich öffne das neue E-Mail-Formular in Outlook mit dem folgenden Code. Das Problem besteht darin, dass das Formular im Hintergrund ist. Wenn das Formular, aus dem das E-Mail-Formular generiert wird, maximiert ist, wird es das neue Outlook-E-Mail-Formular "abdecken".
Wie kann ich das Formular oben erscheinen lassen? (nicht "oben drauf", sondern einfach oben drauf, dann kann ein Benutzer es mimimieren, wenn sie es wollen).
Dies ist der Code:
try
OutlookApp := GetActiveOleObject('Outlook.Application');
except
OutlookApp := CreateOleObject('Outlook.Application');
end;
try
MailItem := OutlookApp.CreateItem(olMailItem);
MailItem.To := '[email protected]';
MailItem.Subject := 'This is the subject';
MailItem.HTMLBody := '<HTML>Test</HTML>';
MailItem.Display;
finally
OutlookApp := VarNull;
end;
end;
Wenn ich das mache, erscheint das neue Nachrichtenfenster vor meinem Delphi-Formular. Was verursacht das * nicht * für dich? –
Ich habe es gerade auch getestet, Outlook-Fenster erscheint oben. Kann sein, dass Ihr Formular keine Standardeinstellungen hat? ('FormStyle = fsStayOnTop' für ex? - in diesem Fall erscheint das Outlook-Fenster im Hintergrund, aber' self.SendToBack' bevor 'mailItem.Display' dieses Problem löst) – teran
OP ist korrekt. Wenn das Outlook-Hauptfenster sichtbar ist, wird die neue Nachricht im Delphi-Formular geöffnet. (versuchen Sie, die EXE von außerhalb der IDE zu starten) – kobik