Email to Torsten Weber
Feed Icon
.NET User Group Leipzig
Page 1 of 14 in the ITCrowd category Next Page

Ich habe heute eine Architektur für eine mobile Lösung für Speicherkarten entwickelt und zwar, ja es gibt es noch, in C++/unverwalteten Code. Beim Build überraschte Visual Studio mit einer "aussagekräftigen" Fehlermeldung:

Fehler beim Starten von "rc.exe"

Aha! Im Logbuch zum Build steht mehr:

PRJ0003

rc.exe ohne Pfad

rc.exe stammt aus einem SDK. In Befehlszeilen wie

/Od /D "_WIN32_WCE=0x502" /D "UNDER_CE=0x502" /D "WINCE" /D "WIN32_PLATFORM_PSPC" /D "_DEBUG" /D "DEBUG" /D "_WINDOWS" /D "ARM" /D "_ARM_" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /fp:fast /GR- /Fo"Windows Mobile 6 Professional SDK (ARMV4I)\Debug/" /Fd"Windows Mobile 6 Professional SDK (ARMV4I)\Debug/vc80.pdb" /W3 /nologo /c /Zi /TP

wird bei rc.exe aber nicht mit absoluten bzw. relativen Pfaden, sondern nur dem Dateinamen gearbeitet. Wenn die rc.exe und das Prinzip kennt, weiß sich jetzt zu helfen. Und sonst? Blogeinträge to the Rescue! Hach Redmond, wann werden Fehlermeldungen "deduktiv"?

Die Lösung

  • auf Start klicken
  • auf Systemsteuerung klicken
  • rechts oben bei Suchen "Umgebung" eingeben (Ansicht Startseite der Systemsteuerung)
  • Systemumgebungsvariablen bearbeiten anklicken (gilt für alle Benutzer)
  • auf Umgebungsvariablen klicken
  • bei Systemvariablen den Wert Path heraussuchen, Bearbeiten anklicken
  • an dem letzten Wert den Pfad zum Windows Mobile SDK hinzufügen in der Form
    alt: bisheriger Wert
    neu: bisheriger Wert;Pfad zum Windows Mobile SDK
    Umgebungsvariablen

    Systemvariable_bearbeiten

    Hinzugefügt werden muss¹
    C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin und
    C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64

    Gemäß der obigen Abbildungen wäre der neue Wert dann so: SVN\bin;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin;C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64
  • dann Visual Studio neu starten, ein Systemneustart ist nicht notwendig

¹ die Pfade sind hier für das Windows Mobile 6 SDK (Refresh) dargestellt

Laut Adobe soll der Adobe Reader 9 endlich deutliche Verbesserungen bei der Performance erfahren haben und auch die Probleme mit der Anzeige von PDF-Dateien sind behoben worden.

Klickt man auf

  • Hilfe
  • Nach Updates suchen
  • Herunterladen und installieren

für eine Sprachunterstützung in Deutsch zur Rechtschreibprüfung für Formularfelder und Kommentare, stürzt die Anwendung, mit der die Aktualisierung installiert werden soll, aber eventuell ab...

Adobe Reader Updater funktioniert nicht

Die Lösung für dieses Problem geht so:

  • Adobe Reader als Administrator starten
    • z. B. Icon mit rechter Maustaste anklicken und Als Administrator ausführen wählen
      Adobe Reader als Administrator starten
  • danach auf Hilfe, Nach Updates suchen, Herunterladen und installieren klicken

Das Plug-In von XING für Outlook 2007 hat einige Tücken. Unter anderem wird z. B. nicht gespeichert, ob die XING-Symbolleiste beim letzten Mal angezeigt war oder nicht. Sie wird einfach immer angezeigt.

XING Plug-In für Office Outlook 2007

Wer das Plug-In nur temporär benötigt, kann es auch deaktivieren:

  • auf ein Outlook-Icon mit der rechten Maustaste klicken, Als Administrator ausführen wählen
    Microsoft Office Outlook 2007 als Administrator
  • Extras, Vertrauensstellungscenter, Add-Ins wählen
  • bei Verwalten die Option COM-Add-Ins, einstellen, Gehe zu wählen
  • openBC Outlook Plug-In deaktivieren
  • OK
    COM-Add-Ins in Microsoft Office Outlook 2007

Wird Outlook 2007 nicht mit administrativen Rechten gestartet, erscheint eine Fehlermeldung:

Der verbundene Zustand von Office Add-Ins registriert in HKEY_LOCAL_MACHINE kann nicht geändert werden.

Seit einiger Zeit ärgern mich Virtual PC bzw. die Terminal Services (Remote Desktop), weil durch sie des Öfteren reproduzierbar die Zwischenablage bei Windows nicht mehr funktioniert. Nach einer Recherche bin ich beim Terminal Services Team gelandet. Es gibt eine Lösung dafür. Für Virtual PC habe ich auch eine herausgefunden. Hier stehen sie beide:

Zwischenablage bei den Terminal Services funktioniert nicht mehr

  • ALT + STRG + ENTF gleichzeitig drücken
  • Task-Manager starten wählen
  • auf die Registerkarte Prozesse wechseln
  • rdpclip.exe auswählen und Prozess beenden anklicken
    rdpclip beenden
  • auf Start klicken
  • rdpclip eingeben und anklicken
    rdpclip starten
  • danach sollte die Zwischenablage wieder funktionieren
    • ansonsten Remotedesktopverbindung schließen und neu verbinden
      Remotedesktopverbindung beenden

Zwischenablage bei Virtual PC funktioniert nicht mehr

  • auf dem Wirts-PC (dort wo Virtual PC läuft) irgendeinen Text makieren und kopieren
  • in die virtuelle Machine wechseln und z. B. den Editor (Notepad öffnen)
  • über Bearbeiten, Einfügen in den virtuellen PC etwas einfügen
    Virtual PC, Bearbeiten, Einfügen
  • danach sollte die Zwischenablage wieder funktionieren
    • ansonsten VMs runterfahren, Virtual PC beenden und wieder starten

Nach den Blogeinträgen

bin ich mehrfach gefragt worden, wie man Regeln in bestimmten Ordnern ausführen kann. Das heißt, es geht nicht um durch Microsoft vordefinierte Ordner, sondern beliebige, die von Endanwendern definiert werden. Es funktioniert so:

Sub RunAllRules()
    Dim outlookStore As Outlook.Store
    Dim allRules As Outlook.Rules
    Dim actualRule As Outlook.Rule
    Dim resultFolder As Folder
    
    Set outlookStore = Application.Session.DefaultStore
    Set allRules = outlookStore.GetRules
    Set resultFolder = GetFolderByName( _
        rootFolder:=OlDefaultFolders.olFolderInbox, folderName:="Test")
    
    For Each actualRule In allRules
        If actualRule.RuleType = olRuleReceive Then
            actualRule.Execute _
               ShowProgress:=False, _
               Folder:=Application.Session.GetFolderFromID(EntryIDFolder:=resultFolder.EntryID), _
               IncludeSubfolders:=False, _
               RuleExecuteOption:=OlRuleExecuteOption.olRuleExecuteAllMessages
        End If
    Next
             
    Set outlookStore = Nothing
    Set allRules = Nothing
    Set actualRule = Nothing
End Sub
Function GetFolderByName(rootFolder As OlDefaultFolders, folderName As String) As Folder
    Dim folders As folders
    Dim actualFolder As Folder
    Set folders = Application.Session.GetDefaultFolder(rootFolder).folders

    For Each actualFolder In folders
        If actualFolder.Name = folderName Then
            Set GetFolderByName = actualFolder
            Exit Function
        End If
    Next
End Function
 
Sub RunAllRules()
    Dim outlookStore As Outlook.Store
    Dim allRules As Outlook.Rules
    Dim actualRule As Outlook.Rule
    Dim resultFolder As Folder
    
    Set outlookStore = Application.Session.DefaultStore
    Set allRules = outlookStore.GetRules
    Set resultFolder = GetFolderByName( _
        rootFolder:=OlDefaultFolders.olFolderInbox, folderName:="Test")
    
    For Each actualRule In allRules
        If actualRule.RuleType = olRuleReceive Then
            actualRule.Execute _
               ShowProgress:=False, _
               Folder:=Application.Session.GetFolderFromID(EntryIDFolder:=resultFolder.EntryID), _
               IncludeSubfolders:=False, _
               RuleExecuteOption:=OlRuleExecuteOption.olRuleExecuteAllMessages
        End If
    Next
             
    Set outlookStore = Nothing
    Set allRules = Nothing
    Set actualRule = Nothing
End Sub
Function GetFolderByName(rootFolder As OlDefaultFolders, folderName As String) As Folder
    Dim folders As folders
    Dim actualFolder As Folder
    Set folders = Application.Session.GetDefaultFolder(rootFolder).folders

    For Each actualFolder In folders
        If actualFolder.Name = folderName Then
            Set GetFolderByName = actualFolder
            Exit Function
        End If
    Next
End Function
Das Besondere liegt also darin, dass über die Funktion GetFolderByName die ID des jeweiligen Ordners ermittelt wird, in dem die Regeln ausgeführt werden sollen. Dazu muss bei:
 
Set resultFolder = GetFolderByName( _
    rootFolder:=OlDefaultFolders.olFolderInbox, folderName:="Test")

der Ordner angegeben werden unter dem der jeweilige Ordner liegt als auch sein Name.

In der nachfolgenden Abbildung wird dieses gut ersichtlich. Hier befindet sich der Ordner Test unterhalb von Posteingang (olFolderInbox) und heißt eben "Test". Mit dem obigen Anwendungscode werden dann alle definierten Regeln in diesem Ordner ausgeführt. Non scholae, set vitae discimus.

Outlook 2007 – Regeln in einem bestimmten Ordner ausführen

Page 1 of 14 in the ITCrowd category Next Page

Boldness, risk‐taking and a little bit of craziness – lateral thinker Torsten Weber
Boldness, risk‐taking and a little bit of craziness – lateral thinker Torsten Weber

Torsten Weber is a MVP for Device Application Development

Calendar of the .NET User Group Leipzig

Microsoft Community Leader/Insider Program

Programmieren mit dem .NET Compact Framework. Anwendungsentwicklung für mobile Geräte.
Inhaltsverzeichnis & mehr

Programmieren mit dem .NET Compact Framework 3.5. Anwendungsentwicklung für mobile Geräte.

Microsoft – change the mobile world or go home!

Categories

Calendar

<July 2008>
SunMonTueWedThuFriSat
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

Archive

My subscribed blogs

show all
show less
Blogs of good friends (as OPML)
More Blogs (as OPML)