![]() |
Oulook Kontakte auslesen geht nicht unter C:\Programme
Hallo, ich habe einen Kontaktimport von Outlook (bei mir OL2010,D2007pro, WIN7) eingebaut.
Code von den Schweizern:
Delphi-Quellcode:
Läuft prima! Setup gebastelt, losgeschickt. Fehler!
procedure TmodOutlook.btnReadOutlookClick(Sender: TObject);
const olFolderContacts = $0000000A; var outlook, NameSpace, Contacts, Contact: OleVariant; begin for i := 1 to Contacts.Items.Count do begin Contact := Contacts.Items.Item(i); FrecAdr.FBirthday := Contact.Birthday; FrecAdr.FCompanyName := Contact.CompanyName ; ... Finally Outlook := UnAssigned; End;
Code:
Dann habe ich das Programm bei mir auf C:\Programme installiert und es kommt ebenfalls der Fehler. Auf D:\Programme nicht.
Es ist folgender Fehler aufgetreten:Fehlertyp: Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben [EOleException]
Ich bin nicht so tief in der Materie drin und wage mich zum ersten mal an OLE usw. Was läuft da schief? Was kann ich tun? Wonach suchen? Was lesen? Gruß süden |
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Programm als Admin ausgeführt? Wie sieht es mit den Berechtigungen in den jeweiligen Ordnern aus?
|
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Im Manifest: level="asInvoker" ",
bei der Ausführung: "Als Admin". Das Programm sollte aber auch für Nichtadministratoren laufen. Ich kann als Entwickler nicht wissen/verlangen, dass der Anwender nur mit Admin-Konto laufen lässt. Ich blicks gerade nicht mehr, das Thema (UAC ...) ist für mich ziemlich neu. |
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Du schreibst vermutlich aus Versehen irgendeine Datei in das eigene Verzeichnis. Mit dem
![]() (Einfach den Filter auf "Process Name" is "DeineExe.exe" setzen und schauen was passiert...) |
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Um Unklarheitzen zu vermeiden, das Programm selbst läuft gut, nur das Öffnen der Outlook Kontakte wirft den Fehler.
Mir ist nicht bewußt, welche Datei geschrieben werden soll. Mein Programm schreibt ganz sicher keine in das Programmverzeichnis. Die Prozesskontrolle mache ich morgen. Mal sehen. Gruß süden |
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Ich denke zumindestens die Initialisierung von
Delphi-Quellcode:
fehlt.
outlook
Gruß K-H |
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Dein Codeausschnitt ist sehr unvollständig, es fehlen die Initialisierungen von mehreren Variablen, ein finally ohne try und das noch innerhalb einer for-Schleife, kann ich mir so alles nicht recht vorstellen.
|
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Mein Codausschnitt war unsauber zusammen gefasst - blöd von mir.
Hier noch mal das fast Ganze:
Delphi-Quellcode:
Es läuft alles prima, wenn ich den Programmordner nur kopiere, auch auf C:\.
procedure TmodOutlook.btnReadOutlookClick(Sender: TObject);
const olFolderContacts = $0000000A; var outlook, NameSpace, Contacts, Contact: OleVariant; i: Integer; s :String; begin outlook := CreateOleObject('Outlook.Application'); NameSpace := outlook.GetNameSpace('MAPI'); Contacts := NameSpace.GetDefaultFolder(olFolderContacts); Try grdTVOL.DataController.BeginFullUpdate; for i := 1 to Contacts.Items.Count do begin Contact := Contacts.Items.Item(i); FrecAdr.FCompanyName := Contact.CompanyName ; FrecAdr.FFirstName := Contact.FirstName ; ... Anschließend das Einbauen der Werte in ein Grid ... Finally grdTVOL.DataController.EndFullUpdate; Outlook := UnAssigned; End; end; Wenn ich es installiere (Inno) kommt die oben gezeigte Fehlermeldung. Ausschnitt Inno-Script:
Code:
Das spricht der Prozess-Explorer ab Button-Click bis zur Fehlermeldung:
MinVersion=5.1.2600
[Dirs] PrivilegesRequired=admin Name: "{commonappdata}\ocm\BUEROplus3\Konfig"; Permissions: everyone-full authusers-full users-full; Source: ocmBuero3.exe; DestDir: {app}; Permissions: everyone-full authusers-full users-full;
Code:
Die gleichen Meldungen kommen auch bei der nur kopierten, lauffähigen Version.
Event Class: Registry | Operation: RegQueryKey
Result: BUFFER TOO SMALL Path: HKCU\Software\Classes\CLSID\{33C53A50-F456-4884-B049-85FD643ECFED} TID: 3744 | Duration: 0.0000040 | Query: Full | Length: 0 -------------------------------------------------------------------------- Event Class: Registry | Operation: RegOpenKey Result: NAME NOT FOUND Path: HKCU\Software\Classes\CLSID\{DEE35070-506B-11CF-B1AA-00AA00B8DE95}\ExtendedErrors TID: 3744 Duration: 0.0000077 Desired Access: Read -------------------------------------------------------------------------- Date & Time: 06.05.2013 14:46:04 Event Class: Registry Operation: RegOpenKey Result: NAME NOT FOUND Path: HKCU\Software\Classes\CLSID\{dee35070-506b-11cf-b1aa-00aa00b8de95}\ExtendedErrors TID: 3744 | Duration: 0.0000057 | Desired Access: Maximum Allowed -------------------------------------------------------------------------- Event Class: File System | Operation: QueryOpen | Result: FAST IO DISALLOWED Path: C:\ProgramData\ocm\BUEROplus3\Konfig\Errorlog.txt TID: 3744 | Duration: 0.0000013 Aus der IDE läufts also schwer zu finden. Hat das etwas mit der UAC zu tun? Ich habe zwar schon viel gelesen, aber immer noch nicht ganz kapiert. Installieren als admin, Ausführen als normaler User ... Der Outlook-Import läuft auch nach der Installation auf D:\.. nicht. |
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Da du es nicht debuggen kannst, musst du wohl zur alten Methode greifen und an wichtigen Stellen ein ShowMessage einbauen, um den Fehler besser eingrenzen zu können, vielleicht kommst du ja dann einen Schritt weiter.
|
AW: Oulook Kontakte auslesen geht nicht unter C:\Programme
Das verrückte ist, wenn ich die Exe nach der Installation von Hand einkopiere geht's.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz