Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Unzulässige funktion (https://www.delphipraxis.net/119178-unzulaessige-funktion.html)

ATSV 21. Aug 2008 14:57


Unzulässige funktion
 
hi
ich habe folgendes "problem": ich möchte über delphi outlook ansteuern um eine email zu verschicken, dass ist auch kein problem und funktioniert auch, aber ich erhalte immer die fehlermeldung "Unzulässige Funktion" aber das programm macht genau das was es soll. kann mir vielleicht jemand erklären warum die exception kommt und warum trotzdem alles funktioniert?
hier ncoh der code
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var myOutlook, mailitem: Variant;
begin
  try
    myOutlook := CreateOleObject('Outlook.Application');
    mailitem := myOutlook.CreateItem(olMailItem);
    mailitem.Subject := Edit7.Text;
    mailitem.To := Edit6.Text;
    mailitem.Body := Memo2.Text;
    mailitem.Display; //Hier meckert er
  except
    on EOleSysError do begin
      raise;
    end;
  end;
  Edit6.Text := '';
  Edit7.Text := '';
  Memo2.Text := '';
end;

mkinzler 21. Aug 2008 15:00

Re: Unzulässige funktion
 
Dieser Fehler kommt von Outlook.
Btw. dein Exception-Handler ist sehr sinnvoll

ATSV 21. Aug 2008 15:02

Re: Unzulässige funktion
 
da steht auch eig was anderes drin :wink:
weißt du denn wie ich den fehler weg krieg ohne ihn einfach zu unterdrücken?

ksandra 11. Sep 2008 10:23

Re: Unzulässige funktion
 
Hast Du die Lösung inzwischen gefunden? Ich habe hier das gleiche Problem, kann es aber nicht eingrenzen.

Gruss

KSandra

mkinzler 11. Sep 2008 10:26

Re: Unzulässige funktion
 
Hast du mal versucht die Mail zu Speichern bevor du sie anzeigst?

toms 11. Sep 2008 12:46

Re: Unzulässige funktion
 
Hallo, was für Outlook Versionen verwendet Ihr denn?

Mit Outlook 2003 funktioniert der obige Code problemlos.

Sleepy179 30. Sep 2009 09:52

Re: Unzulässige funktion
 
Hallo!

ich habe mich hier jetzt extra angemeldet, weil mich dieses Problem schon seit Jahren nervt. Aber: Ich habe es gelöst!

Ich hatte in unserer Firmenanwendung eine Stelle, an der die "Unzulässige Funktion"-Meldung nicht kam und das habe ich analysiert!

Man muss es so handhaben, dass man die Outlook-Programmierung auslagert in eine extra procedure und diese dann in einer try-except Anweisung aufruft:

Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
begin
 try
  SendMail;
 except
 end;
end;

procedure TForm1.SendMail;
var myOutlook, mailitem: Variant;
begin
  try
    myOutlook := CreateOleObject('Outlook.Application');
    mailitem := myOutlook.CreateItem(olMailItem);
    mailitem.Subject := Edit7.Text;
    mailitem.To := Edit6.Text;
    mailitem.Body := Memo2.Text;
    mailitem.Display; //Hier meckert er - nicht mehr!
  except
    on EOleSysError do begin
      raise;
    end;
  end;
  Edit6.Text := '';
  Edit7.Text := '';
  Memo2.Text := '';
end;
Ihr könnt es gern probieren und berichten, ob es klappt!

Grüße

Michael

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]

himitsu 30. Sep 2009 10:01

Re: Unzulässige funktion
 
Delphi-Quellcode:
except
end;
Es könnte natürlich auch sein, daß die Exception hier dann einfach verschluckt wird.

Und wenn, dann mußt es nicht in eine Extraprozedur ... einfach nur alles in das Try-Except rein

jaenicke 30. Sep 2009 10:47

Re: Unzulässige funktion
 
Zitat:

Zitat von Sleepy179
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
begin
 try
  SendMail;
 except
 end;
end;

procedure TForm1.SendMail;
var myOutlook, mailitem: Variant;
begin
  try
    myOutlook := CreateOleObject('Outlook.Application');
[...]
  except
    on EOleSysError do begin
      raise;
    end;
  end;
[...]
end;

Erst löst du den abgefangenen Fehler EOleSysError wieder aus (raise) und fängst andere gar nicht erst ab. Dann nimmst du ein weiteres try..except um die weitergeleiteten Fehler abzufangen... :wall:
Warum nicht gleich ein try..except ohne Einschränkungen oder Wiederauslösen des Fehlers in except?

BlueStarHH 27. Apr 2010 12:17

Re: Unzulässige funktion
 
Zitat:

Zitat von ATSV
mailitem.Display; //Hier meckert er
[delphi]

Ich hab das selbe Problem mit Delphi 2010 und Outlook 2003. An der Stelle oben kommt: EOLESysError "Unzulässige Funktion". Die Mail wird aber richtig in Outlook angezeigt. Wer hat eine Lösung?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 Uhr.
Seite 1 von 2  1 2      

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