AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Oulook Kontakte auslesen geht nicht unter C:\Programme
Thema durchsuchen
Ansicht
Themen-Optionen

Oulook Kontakte auslesen geht nicht unter C:\Programme

Ein Thema von süden · begonnen am 5. Mai 2013 · letzter Beitrag vom 6. Mai 2013
Antwort Antwort
Seite 1 von 2  1 2      
süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#1

Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 5. Mai 2013, 11:51
Hallo, ich habe einen Kontaktimport von Outlook (bei mir OL2010,D2007pro, WIN7) eingebaut.

Code von den Schweizern:
Delphi-Quellcode:
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;
Läuft prima! Setup gebastelt, losgeschickt. Fehler!
Code:
Es ist folgender Fehler aufgetreten:Fehlertyp: Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben [EOleException]
Dann habe ich das Programm bei mir auf C:\Programme installiert und es kommt ebenfalls der Fehler. Auf D:\Programme nicht.
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
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 5. Mai 2013, 12:23
Programm als Admin ausgeführt? Wie sieht es mit den Berechtigungen in den jeweiligen Ordnern aus?
  Mit Zitat antworten Zitat
süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 5. Mai 2013, 12:34
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.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.346 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 5. Mai 2013, 20:26
Du schreibst vermutlich aus Versehen irgendeine Datei in das eigene Verzeichnis. Mit dem Process Monitor solltest du recht schnell herausfinden können was da schief läuft.
(Einfach den Filter auf "Process Name" is "DeineExe.exe" setzen und schauen was passiert...)
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 5. Mai 2013, 22:14
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
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 5. Mai 2013, 22:38
Ich denke zumindestens die Initialisierung von outlook fehlt.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 6. Mai 2013, 07:43
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.
  Mit Zitat antworten Zitat
süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#8

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 6. Mai 2013, 14:11
Mein Codausschnitt war unsauber zusammen gefasst - blöd von mir.
Hier noch mal das fast Ganze:
Delphi-Quellcode:
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;
Es läuft alles prima, wenn ich den Programmordner nur kopiere, auch auf C:\.
Wenn ich es installiere (Inno) kommt die oben gezeigte Fehlermeldung.

Ausschnitt Inno-Script:
Code:
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;
Das spricht der Prozess-Explorer ab Button-Click bis zur Fehlermeldung:
Code:
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
Die gleichen Meldungen kommen auch bei der nur kopierten, lauffähigen Version.
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.
Gruß süden

[Delphi 2007 Pro, WIN 7 Pro, DevEx, Fastreport, TMS]
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 6. Mai 2013, 14:22
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.
  Mit Zitat antworten Zitat
süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#10

AW: Oulook Kontakte auslesen geht nicht unter C:\Programme

  Alt 6. Mai 2013, 14:28
Das verrückte ist, wenn ich die Exe nach der Installation von Hand einkopiere geht's.
Gruß süden

[Delphi 2007 Pro, WIN 7 Pro, DevEx, Fastreport, TMS]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 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