Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Outlook, vernünftig, starten und beenden. (https://www.delphipraxis.net/208318-outlook-vernuenftig-starten-und-beenden.html)

Marco Steinebach 14. Jul 2021 10:49

Outlook, vernünftig, starten und beenden.
 
Hallo zusammen,
Ich geb's jetzt auf und frage euch.
Ich möchte Outlook automatisieren.
Das klappt alles ganz prima, mit folgendem Code:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  outlook, namespace, folder, entry: OleVariant;
begin
  outlook := CreateOleObject ('Outlook.Application');
  namespace := outlook.getNameSpace ('MAPI');
  folder := NameSpace.GetDefaultFolder(9);
  ...
Mit dem folgenden Code, melde ich mich wieder ab:
Code:
  namespace.logoff;
  outlook.quit;
Aaaaber:
Ich erzeuge so eine Instanz, ob Outlook nun läuft, oder nicht. Und, vor allem, wenn ich mich so abmelde, mein Outlook vorher offen war, ist es danach zu. Was klar ist, denn Outlook selbst kann immer nur eine Instanz.
Meine Frage ist also, wie, um gotteswillen, mach ich es so, das ich:
Wenn outlook noch nicht läuft, mach ein neues objekt, merke dir, das du eine neus gemacht hast, sonst nimm das laufende objekt.
...
Wenn du vorher ein neues objekt erzeugt hast, melde dich ab, sonst vergiß es.
Ich hab schon eine Menge gelesen, steige da aber absolut nicht durch und bitte um Hilfe!

Herzlich grüßt
Wandogau

tshubaka 14. Jul 2021 11:39

AW: Outlook, vernünftig, starten und beenden.
 
Hallo,
vielleicht so:
Delphi-Quellcode:
try
  Outlook:= GetActiveOLEObject('Outlook.Application');
except
  Outlook:= CreateOleObject('Outlook.Application');
end;
Gruss
Peter

Marco Steinebach 14. Jul 2021 20:16

AW: Outlook, vernünftig, starten und beenden.
 
Hallo Peter,
Jep! genau so! Herzlichen Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz