Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von trib
Thema: Methode in Main aufrufen
Am im Forum: Grundlagen von C#

Sein Ursprungs-Code hätte aber funktioniert, wenn er auf "Add" hätte zugreifen können.

Dort liegt das Problem aber darin, dass zwar der Namespace (Rechenart) referenziert wurde, aber nicht die Klasse angegeben war (Addition.Add() ).

Das habe ich übersehen und daher auf die statische Klasse getippt. Da gebe ich Dir aber absolut Recht, man kann natürlich auch so auf die Methode zugreifen!
Mein Fehler :(

Der Rest sind eigentlich erst Folgefehler durch das herumprobieren. Ist nun die Frage welchen der Fehler man lösen möchte ;)

Thema: Methode in Main aufrufen
Am im Forum: Grundlagen von C#

Dein allererstes Problem war, dass Du zwar die Methode statisch gemacht hast, jedoch nicht die darunterliegende Klasse:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Rechenart
{
    public STATIC class Addition
    {
       public static int Add(int a, int b)
        {
            return a + b;
        }
    }
}

Dann kannst Du auch darauf verzichten, ein Objekt (sum) erzeugen zu müssen.

Thema: Speichern von unveränderten Daten
Am im Forum: Datentechnologien

Zitat von carl
By the way: Die Anwendung arbeitet nicht mit direkten Datenbankconnections, sondern jede Aktion wird per SOAP und TCP gegen ein Webservice-Proxy programmiert. Ein direktes sperren der Row im SQL-Server fällt daher flach. Jede Statusabfrage, Sperren usw. muss bei mir also manuell gesetzt werden.

Es wäre imho Aufgabe eben dieses Proxy´s bzw. der Datenbankanwendung dahinter, dieses Verhalten zu melden.
Benutzer A & B laden einen Datensatz inklusive Timestamp. Benutzer A modifiziert ihn, der Datensatz wird an den Webservice übermittelt. Dieser hält den Timestamp der Datenbank gegen den übermittelten. Ist der identisch, wird der DS modifiziert.

Nun kommt Benutzer B: Datensatz ändern & übertragen. Timestamp stimmt nicht mehr mit dem aus der Datenbank überein. Es wird eine Exception aufgerufen und an den Benutzer übermittelt. (Der DS wurde zwischenzeitlich modifiziert, laden Sie ihn bitte neu...)

Nun muss B den Datensatz neu laden und seine Änderung erneut ausführen. (Oder eben nicht, weil A das selbe geändert hat, oder eine Sperre gesetzt wurde, usw.).

Den Datensatz selbst zu sperren, wie Bernd es beschreibt, ist bei dieser Herangehensweise noch eine Hierarchie höher anzusiedeln.
Bevor ein Datensatz wirklich geschrieben wird, also nachdem Vergleich des Timestamps, wird dieser gesperrt. Selbst wenn A & B in der selben Sekunde eine Änderung abschicken und der Timestamp sich noch nicht geändert hat, wir es keine Inkonsistenz geben. Einer bekommt die Meldung (Sie sind Opfer einer Sperre geworden)
Solch ein Verhalten ist gerade bei längeren Transaktionen und der Änderung an vielen Tabellen gleichzeitig, absolut notwendig.
Einer bucht den Wareneingang, der Andere den Ausgang. Das kann schonmal 1-2 Sekunden dauern. Sobald beide den Lagerbestand modifizieren wollen, bekommt einer einen Fehler gemeldet.

Daher ist genau dieses Vorgehen gängige Praxis. Auch bei SAP und Dynamics NAV.

Thema: OCR Erkennung per Azure
Am im Forum: Smalltalk

Microsoft bringt ja gefühlt täglich neue Dienste für Azure raus.
Unter Anderem entstand vor einiger Zeit das Projekt "Oxford", welches sich um die Auswertung von Bildern kümmert. Dafür wurde nun in logischer Konsequenz der passende Dienst geschaffen.

https://www.projectoxford.ai/Subscription

Voraussetzung:

  • Registrierung auf der Oxford Seite
  • Download der SDK (prinzipiell nur das Ansprechen eines Webservices)
  • Key nach der Registrierung in der Applikation eintragen

Beschränkungen:
  • 5000 Erkennungen pro Monat
  • 1 pro Sekunde.

Funktionen:
  • Bildanalyse
  • Texterkennung
  • Tumbnail-Erstellung


Die Bildanalyse liefert zurück ob (true/false) und zu wie viel % das Bild einen sexuellen oder rassistischen Inhalt zeigt. Dann um was es sich handelt, Personen, Fahrrad, Essen, Zeichnungen, usw. Zu guter letzt, welches Alter und Geschlecht die Protagonisten auf dem Bild haben.
Klappt in meinen ersten Tests ganz passabel.

Die Texterkennung funktioniert sehr gut. Es macht kaum einen Unterschied, ob es sich bei dem Bild um einen Screenshot oder ein Foto eines Ausdrucks handelt. Der Text wird erkannt und in "Regions" unterteilt. Also zusammengehörige Textblöcke samt Koordinaten.

Grundsätzlich sieht das sehr vielversprechend aus! Die 5000 Anfragen pro Monat sind für z.B. die Verschlagwortung von Rechnungen sicherlich ausreichend.

Quelle: https://azure.microsoft.com/en-us/blog/how-to-leverage-ocr-to-full-text-search-your-images-within-azure-search/

PS.: Könnte genauso gut eine News sein. In diesem Falle einfach verschieben :)

Thema: K.I. für Darts Spiel
Am im Forum: Rund um die Programmierung

So wie ich das verstanden habe, wollte elTorito eine einfache Lösung haben, die nicht auf festen Listen basiert.
Daher führt es doch ein bisschen weit, die Felder in Vektoren aufzuteilen, eine Schwingung zu berechnen und die Erdanziehungskraft zu berücksichtigen ;)

Bin aber gespannt was daraus wird!

Thema: K.I. für Darts Spiel
Am im Forum: Rund um die Programmierung

Hi elTorito,

ich würde mir das so vorstellen:

1) Evaluieren der Möglichkeiten
Geht es noch um Punkte sammeln oder ist man bereits in der Endphase?
Am Beginn des Spieles wirft man i.d.R. triple 20 oder mal triple 18, wenn die Darts ungünstig stecken.
Das kann man per Zufall entscheiden.
Zum Ende hin muss man natürlich die Restpunktezahl berücksichtigen.

2) Entscheiden auf welche der Möglichkeiten geworfen wird.
Triple 20 oder Triple 18 am Beginn
Restwert / 2 auf Double oder Restwert/3 auf Triple

3) Zufallswurf
Nun läufst Du X-mal eine Schleife durch, die rausspringt, wenn Dein Random(0,20) Wert dem in Punkt 2) erhofften Wert entspricht.
Wenn nicht, verwendest Du den letzten Random-Wert.
Selbige Herangehensweise führst Du aus um Single, Double & Triple zu entscheiden.
Entspricht der Zufallswert Deiner Erwartung, Aussprung aus der Schleife, sonst letzten Zufallswert verwenden.

Die Schwierigkeit Deiner KI kannst Du nun über "X" steuern. Also in dem Du die Wahrscheinlichkeit, das die erwartete Zahl getroffen wird, durch die Durchläufe der Schleife veränderst.

Also in Kurzversion:
Alle möglichen Wurf-Varianten berechnen.
Den nächsten "optimalen" Wurf daraus auswählen.
Per Zufallsannäherung den "optimal"-Wurf treffen, oder eben nicht. Dann ist der Wurf komplett Zufall.

Thema: MeasureOverride in CustomControl wird beim erstmaligen anzeigen n-fach aufgerufen
Am im Forum: GUI: WPF und XAML

Hi Quaneu,

genauso wie auch Resize, werden die bei praktisch jedem OnPaint des Parent Controls aufgerufen. Auch wenn sich an der Größe oder Position nichts verändert hat.
Aber das zu entscheiden liegt im Control selbst. Daher kannst Du, sofern sich nichts geändert hat, per return rausspringen oder base.MeasureOverride aufrufen.

Im Debugger kann man übrigens prima sehen, wer die Funktion aufruft! Blende Dir dazu das Fenster "Call Stack" ein.

Thema: Gibt es einen Word-Renderer, die Word-Dokumente unverfälscht darstellen kann?
Am im Forum: Office-Technologien

Dieses Internetz spuckt mit immer nur die Version Word Viewer 1 aus.
Die gibt es seit 2000.

Wikipedia aber sagt:

Zitat
The last version made was compatible with Word 2007
Das wäre die Version v11 von 2007

Alternativen werden dort auch vorgeschlagen. So verkehrt lag ich nicht ;)
Zitat
Development of the product is stopped ever since. In the meantime, Microsoft has made other ways of reading Office documents available: Word Web App (a freeware version of Microsoft Word) as well as WordPad (a native component of Windows) in Windows 7 and later can create, view or edit Office Open XML documents (.docx). WordPad also supports Rich Text Format (.rtf) and text files (.txt).[5][6]

No versions for any other operating system besides Windows were ever released.

Quelle: Microsoft Word Viewer

Mittlerweile gibt es aber auch gratis Versionen von Word, Excel und Powerpoint. Es wird wohl Werbung eingeblendet und ein paar Features fehlen (z.B. Inhaltsverzeichnisse erstellen). Finde aber gerade nicht wie sich die Version nennt...

Thema: Gibt es einen Word-Renderer, die Word-Dokumente unverfälscht darstellen kann?
Am im Forum: Office-Technologien

Der Word oder Office Viewer wurde doch seit 2007(??) nicht mehr supportet und weiterentwickelt, wenn mich nicht alles täuscht.
Der war auch ziemlich buggy, weshalb ich den nicht weiter verfolgt habe.

Man kann aber in einerm WebControl per OneDrive Dokumente anzeigen.
Oder in Sharepoint mit WebApps.

Thema: Control Stretch & Scrollable: Überschneidungen
Am im Forum: GUI: Windows-Forms

Der Vollständigkeit halber:

Leider läuft meine Applikation auch mit dem CompactFramework, wo es MinimumSize nicht gibt.
Daher musste ich doch den unschönen Weg gehen, die Controls zu manipulieren.

    public static class AutoScroll
    {
        public static void SetForm(Form form)
        {
            SetControls(form.Controls);
            form.AutoScroll = true;
        }

        public static void SetControls(Control.ControlCollection controls)
        {
            foreach (Control control in controls)
            {
                if ((control.Anchor & AnchorStyles.Bottom) == AnchorStyles.Bottom && (control.Anchor & AnchorStyles.Top) != AnchorStyles.Top)
                    control.Anchor = AnchorStyles.Top;
                if (control.Controls.Count > 0)
                    SetControls(control.Controls);
            }
        }
    }

Die Änderung sollte vor dem setzen von AutoScroll durchgeführt werden.
Aufgerufen wird die Funktion, wenn ein gewisser Toleranzwert mit der Höhe der Form unterschritten wird.
Bei TabControls müsste man noch eine Ausnahme machen, da man i.d.R. innerhalb des Tabs die Scrollbar haben möchte und nicht außerhalb.

Thema: Ist ein Surface 3 Gerät zum Entwickeln geeignet?
Am im Forum: Smalltalk

Hallo zusammen,

da musste ich doch gleich mal die Kompatibilität zu meinem heimischen Arbeitsplatz prüfen...
Docking Stationen sind nur mit einem Gerät kompatibel und unverschämt teuer. Daher habe ich mir eine USB3.0 Station von Targus gekauft, mit der ich bisher sehr zufrieden bin.

Scheint als könnte ich meinen Arbeitslaptop, das private Notebook und ein Surface damit betreiben :)
Obwohl das Surface 4 es mir schon angetan hat :D

Thema: Dienstverweis und Wiederverwendung vom Assemblys
Am im Forum: GUI: Windows-Forms

Hallo Tam0r,

ich wüsste nicht dass das geht. Denn genau wie Du beschreibst, wird das Webservice-Objekt immer aus dem Referenznamen gebildet.
Nur so wäre es auch möglich zweimal den selben Webservice einzubinden.
In diesem Fall, würde die Klasse aber nicht erneut gebildet, da diese in der ersten Referenz schon vorhanden ist.

Dass "irgendwo" in einer anderen Projektmappe dieses Klasse ebenfalls schon vorhanden ist, kann VS, bzw. die svcutil nicht erkennen.

Alternativ kannst Du natürlich Deine Klasse selbst serialisieren und den WebRequest manuell versenden. Also komplett ohne Referenz/Dienstverweis arbeiten.

Thema: Control Stretch & Scrollable: Überschneidungen
Am im Forum: GUI: Windows-Forms

Hallo zusammen,

ich habe eine klassische Form mit ein paar Controls (Top, Left).
Darunter befindet sich eine multiline Textbox (Stretch, Stretch), welche sich den Platz nehmen soll, der vorhanden ist.
Wiederum darunter gibt es ein paar Menü-Button (Bottom, Left/Right).

Bisher war der Bildschirm nur minimal kleiner als die von mir vorgesehene Größe, oder größer. Beides kein Problem!

Nun habe ich den ersten Fall, dass diese Form auf einer Anzeige im Querformat dargestellt werden soll. Also so niedrig, dass einige Controls abgeschnitten werden.

Meine Quick & Dirty Lösung war ab einem gewissen Schwellenwert eine Scrollbar einzublenden.
Dann funktioniert aber weder Stretch, noch Bottom als Ausrichtung. Die Controls überlappen sich mit den Top-Controls, bzw. werden auf ein Minimum verkleinert.

Natürlich würde ich ungern für diesen einen Fall auf den "Luxus" verzichten, bei größeren Anzeigen auch mehr Text lesen zu können.
Auch alle Controls in einer Schleife auf Top & Left zu setzen finde ich nicht so elegant.

Wie könnte da ein einigermaßen eleganter Workaround aussehen?

Thema: Verschachtelte Objekte kreieren
Am im Forum: Grundlagen von C#

Hallo NeoMephisto,

bitte verwende für den Code in Zukunft die Code-Tags
Die Klasse "Reifen" sieht schonmal ganz brauchbar aus. Sie verfügt über einen Konstruktor public Reifen(int groesse) welches beim Initialisieren (mit new ) die Möglichkeit bietet, die Größe direkt mitzugeben.
Möchte man später nochmal auf die Größe zugreifen, steht dazu das öffentliche Property Groesse bereit.

class Auto hingegen verfügt weder über einen Konstruktor, noch ist das Reifen-Objekt darin zugreifbar.

Du solltest versuchen zu verstehen, weshalb man innerhalb von "Auto" auf "Reifen" zugreifen kann, aber aus "Verwaltung" nicht auf "Auto" :)

Thema: Touch-Problem mit EO.WebBrowser und Windows Embedded-Systemen
Am im Forum: GUI: WPF und XAML

Das denke ich nicht. In Windows Embedded ist es zwar möglich mit einem Touchscreen zu arbeiten, jedoch werden Touchgesten überhaupt nicht unterstützt. Bedeute, sie werden wir eine Mauseingabe verarbeiten.
Genau wie der TE das beschreibt.

Das kommt aber darauf an um welches Embedded es sich handelt. Für XP gab es ja auch eine spezielle Touch-Version, die sich ggf. auch in der Embedded Version installieren ließe.
Dann darf das Embedded-System keinesfallls mit dem Zusatz "Compact" versehen sein. Dann handelt es sich nämlich um den Windows CE Nachfolger mit dem Compact Framework.
Die "Mobile" Version, die nun vollständig durch WindowsPhone abgelöst wurde, hat Touchgesten zwar unterstützt, aber imho auch nur die Mausgesten interpretiert und nicht zwischen Maus und Finger unterschieden.

Standard und Professional sind prinzipiell das vollständige Betriebssystem, wo alle nicht zwingend notwendigen Komponenten, Dienste und Treiber weggelassen wurden. Also nur Kernel, GUI und ein bisschen Netzerk-Treiber.

Thema: Speicherort von 'Properties.Settings' ändern?
Am im Forum: GUI: WPF und XAML

Der Pfad kann praktisch nur (ohne Palladin007´s Vorschlag einen Settings-Provider zu berücksichtigen) zwischen Anwendung und Benutzer gewechselt werden.
"Anwendung" erstellt die Datei in dem von Dir genannten Ordner, "Benutzer" im entsprechenden Users\Benutzername\Local\Roaming\usw.-Verzeichnis.
Macht Sinn wenn eine Applikation per RDP von mehreren Benutzern parallel ausgeführt wird.

Mittlerweile habe ich auch für so gut wie jedes Programm einen eigenen serializer. Wenn der einmal läuft, muss man da auch i.d.R. nie wieder ran :)

Gruß
trib

Thema: PDF - Komplett neu erzeugen
Am im Forum: Office-Technologien

Hi,

mit den Informationen wohlmöglich nicht.
Was ist denn ein "nicht nennenswertes Ergebnis"? Das selbe, wie bei dem original PDF?
Was hast Du denn versucht mit iTextSharp zu modifizieren?

Generell glaube ich, dass man herausfinden müsste weshalb sich das original PDF nicht versenden lässt und dann gezielt darauf reagieren.

Gruß
trib

Thema: Entwicklung eines Texteditors für Roboterprogramme
Am im Forum: GUI: Windows-Forms

Versuch es nicht unbedingt nur bei Google, sondern besser direkt bei z.B. CodePlex.
Da gibt es nicht nur alles was Du suchst, sondern auch die Erklärungen dazu.

Aber wie immer kommt es auf die Stichwörter an, die man eingibt.
Für die Markierung & Hervorhebung von bestimmten Wörtern im Text kommst Du wohlmöglich damit weiter:
Syntax Highlighting

Thema: Outlook 2013: alle eMail Adressen eines Nutzers auslesen
Am im Forum: Office-Technologien

Per EWS kann ich in beiden Fällen auf die entsprechenden Informationen zugreifen.
Allerdings spreche ich dann aus Outlook heraus direkt über https mit dem Exchange.
Ist sicherlich auch nicht optimal.

So komme ich aber an alle Elemente inklusive freigegebener Kontakte und Kalender.
Die EWS Adresse bekommt man über AutoDiscover heraus oder leitet die vom OWA ab.

Thema: Nach Senden von Bytes zu einem Detektor kommt keine Antwort
Am im Forum: Rund um die Programmierung

Sonderlich elegant ist das aber nicht.
Sollte dennoch, wieder erwartend keine Antwort von dem Gerät kommen, friert das Programm ein und nichts geht mehr.
Daher sollte man besser auf das Event des Com-Ports setzen, wann neue Daten eingehen.
Alles hier nachzulesen:
Template Serial Port

Thema: Ultraschallsensor via Raspberry Pi mit C#
Am im Forum: Rund um die Programmierung

Was spricht denn dagegen den Wert seriell zu übertragen, wie es das Arduino-Beispiel auch gezeigt hat?
Also die Werte nicht als Zeitinterval, sondern als Text übertragen. Macht imho mehr Sinn und erlaubt Dir auch später noch mehr damit anzustellen.

Beispiele für den Serial Port gibt es hier im Forum massenweise. Für den RasPi funktioniert das auch einfach aus Python (z.B. so).

Thema: Win CE Gerät MissingMethodException
Am im Forum: Rund um die Programmierung

Hallo inflames2k,

das ist ja exakt was ich schreibe. Erstmal eine "klassische" Form erstellen ohne den ganzen Symbol-Kram.
Dann kann man A) einen Dienst auf dem MDE starten, der den Barcode-Scanner aktiviert und die Daten an das Programm weiterreicht (Ähnlich wie z.B. bei ACD, wo der Scanner als Tastatureingabe fungiert)
Oder B) die von mir genannte DLL verwenden und implementieren. Dazu ist es nicht nötig von dieser Form abzuleiten oder diesen "SystemMonitor" aus dem Tutorial zu verwenden.

Wenn AxelA die von uns vorgeschlagenen Wege testet, kann ich auch gerne etwas Beispielcode bereitstellen. Habe den auf etwa 200 Motorola-Geräten von CE 5.0 bis Embedded 7 Compact laufen. Bis auf diese Symbol.Barcode.Reader-Klasse verwende ich reines CF ohne externe Komponenten.

Btw.: Die DLL ist von 2012, läuft ab CF2.0 und ich verwende die selbe für alle Geräte und CE Versionen. Habe also keinerlei Probleme mit der Kompatibilität. CF 1.0 ist imho eh unbrauchbar :)

Thema: Win CE Gerät MissingMethodException
Am im Forum: Rund um die Programmierung

Hallo AxelA,

ich würde auch erstmal so vorgehen wie MrSparkle es beschreibt.
Eine neue Anwendung für Win CE erstellen und auf dem Gerät bereitstellen. Ohne irgendwelche Symbol Libraries o.ä.

Die benötigst Du ohnehin eigentlich nur, wenn Du selbst manuell den Barcode Scanner ansprechen möchtest. Dazu reicht es aber einfach die "Symbol.Barcode.Design.dll" zu referenzieren und zu verwenden.

Keine Ahnung was alles passiert, wenn Du von der Symbol-Form ableitest und was diese alles versucht zu manipulieren. In meinen Anwendungen habe ich auch nie Probleme mit dem AutoScaleMode gehabt.

Thema: Splash Screen - MainForm im Hintergrund
Am im Forum: GUI: Windows-Forms

Tja, das klingt ja alles sehr Logisch und ich denke so weit war ich mit meinem Code auch nicht davon entfernt... Aber es funktioniert genau so!!!
Vielen Dank :)

Die BringToFront()´s scheinen alle überflüssig zu sein.
Es liegt wohl wirklich am Hide -> SplashScreen starten -> Show -> Activate(). (Activate brauche ich damit das 1. Control fokussiert wird.)

Nun kann ich auch auf die ganzen TopMost, BringToFront & Focus verzichten.
Meine Theorie: Mainform startet, kommt durch den Splashscreen in den Hintergrund. Splash wird geschlossen und die Mainform bleibt in 2. Reihe.
Durch das Show, ändert sich das Verhalten und die Form wird vor den Splashscreen gelegt.

Thema: Splash Screen - MainForm im Hintergrund
Am im Forum: GUI: Windows-Forms

Zitat von Daniel83
Hallo trib,


MainForm.BringToFront();

nachdem dein Splashscreen durchgelaufen ist. Beachte bei Bedarf invoke
Hallo Daniel,
danke für Deine Antwort. Leider erziehle ich auch damit nicht den gewünschten Effekt. Das Fenster ist optisch zwar im Vordergrund, jedoch nicht fokussiert und es blinkt in der Taskleiste.
Zitat von Crone
Kurze Anmerkung

            while (!_splashForm.Loaded)
            {
                Thread.Sleep(10);
            }

Thread.Sleep ist meiner Meinung nach ein Workaround für Problem die man nicht sauber lösen kann. Verwende einen Custom EventHandler oder ein Delegate, diesen/dieses rufst du auf wenn der Ladevorgang abgeschlossen ist, dadruch sollte die schleife unnötig sein.
Hallo Crone.
Ja, das ist korrekt. Das war ein Workaround um auch unter Windows CE im Compact Framework zu laufen. Habe aber gerade gesehen, dass ich keine nachgelagerte Funktion mehr dahinter habe. Also kann das ohnehin raus :)

Thema: Splash Screen - MainForm im Hintergrund
Am im Forum: GUI: Windows-Forms

Hallo zusammen,

ich verwende in einer Forms Anwendung einen Splash-Screen.
Dieser startet vor der MainForm in der Program.cs Main():

SplashScreen.Splash.StartSplash();
Application.Run(new StartupForm());
Darin wird die Form in einem separaten Thread aufgerufen:

public static void StartSplash()
        {
            // Create a new thread from which to start the splash screen form
            var splashThread = new Thread(StartSplashForm) {IsBackground = true, Priority = ThreadPriority.Highest};
            splashThread.Start();            

            while (!_splashForm.Loaded)
            {
                Thread.Sleep(10);
            }
        }
Nun wird in der StartupForm, am ende des Load-Events, das Schließen des Spash-Fensters aufgerufen:

 private void StartupForm_Load(object sender, EventArgs e)
        {
            TopMost = true;
            SplashScreen.Splash.CloseSplash();
            TopMost = false;
            Activate();
            Focus();
        }

Das klappt soweit auch, allerdings:
Die Form erscheint auch über z.B. dem Explorer, erhält aber keinen Fokus.
Per Alt-Tab sieht man, dass die Form ganz am Ende der Fenster-Kette steht.

Rufe ich während dem Startvorgang ein Modales Fenster auf (weil eine Einrichtung fehlt) so landet dies komplett im Hintergrund.

Es ist irrelevant, ob ich den Thread des Splash-Fensters auf IsBackground true oder false setze.
Wie kann ich trotz des SplashScreens dafür sorgen, dass die Haupt-Form nun nach dem Start in den Vordergrund rückt?

Thema: Windows 10 - Diskussion
Am im Forum: Smalltalk

Zitat von inflames2k
Was mir jedoch auffiel: Obwohl sätmliche Datenschutzeinstellungen so angepasst sind, dass alles inaktiv ist, scheint das Notebook irgendwo hin zu telefonieren. Es gibt einen minimalen Upload (um die 80 KBit / s) und Download um die 190 Kbit / s) die permanent anliegen. Den Grund konnte ich bisher noch nicht ausmachen.
Jeder, der Win10 runtergeladen hat, stellt es den anderen als Upload automatisch zur Verfügung. Das könnte der Grund sein.
Obwohl ich die MSN Tile nicht ausschließen würde. Weshalb ist denn bitte allein die News App über 1GB groß?!?

Thema: Compact Framework mit Full Framework verknüpfen?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Amigo53,

Du kommst um 2 Projektmappen nicht herum. Die eine mit dem CF und die andere mit dem vollständigen.
In meinen Projekten hatte ich immer das "kleinere" also CF führend. Die weitere Projektmappe habe ich dann in dem selben Verzeichnis abgelegt und die Objekte aus dem 1. Projekt wie folgt hinzugefügt:

Projekt -> Hinzufügen -> Vorhandenens Element -> Bei "Hinzufügen" auf den Pfeil klicken -> "Als Link hinzufügen"

Nun ist die Klasse verfügbar, liegt aber noch im CF Projekt. Sobald in einem eine Änderung vorgenommen wird, ändert sie sich auch in dem anderen.

Unterschiede kann man dann mit zwei Herangehensweisen umsetzen:

_isWindowsClient = Environment.OSVersion.Platform != PlatformID.WinCE;
oder

#if WindowsCE
public void MyCfOnlyMethod()
#endif

Gruß,
trib

Thema: Windows 10 - Diskussion
Am im Forum: Smalltalk

Hallo zusammen,

in den Szenenews wurde Win10 bereits angekündigt, bzw. schon ein paar Bugfixe vorgestellt.
Hier würde ich gerne ein paar Eindrücke schildern, Lob oder Kritik aussprechen.

Vorab konnte ich die Preview Versionen in der Firma schon testen und sie gefiel mir sehr gut. Auf Servern waren die Kacheln einfach extrem überflüssig, da kam Win10 gerade recht.
Jedoch fehlten bis zur Final auch noch ein paar Funktionen oder waren noch nicht gänzlich fertig. Cortana, Startmenü, Edge, usw.

Nun habe ich meine private Maschine upgedated (Convertible Notebook). Zwar war ich aufgrund des Touchscreens schon ziemlich zufrieden mit 8.1, aber besser geht immer :)
Die Installation verlief problemlos und augenscheinlich wurden die allermeisten Konfigurationen und alle Programme & Apps übernommen. Löblich, so soll es sein!
Was ging nicht:

  • Einige Email-Konten, diese mussten manuell angepasst, bzw. eins sogar entfernt und neu erstellt werden.
  • Die Kacheln wurden nicht übernommen. Man muss alles wieder selbst hinzufügen und anordnen.


Wo wir gerade bei der Mail-App sind, die finde ich mit dem Transparenten Hintergrund nicht so gelungen. Auch ist der Wechsel zwischen den Konten nun etwas versteckter.

Klappe ich nun mein Display um, so wird auf den Tablet-Modus umgeschaltet. man erhält wieder das Kachelmenü und jede App oder jedes Programm wird in Vollbild gestartet.
Wo vorher ein Wisch ausgereicht hat um von einer Anwendung zur nächsten zu gelangen, erscheint jetzt die Übersicht aller offenen Programme. Wieder ein Wisch mehr als vorher.
Die Kacheln werden nun vertikal angeordnet und nicht mehr horizontal. Da muss man sich nicht nur extrem umgewöhnen, ich finde es von der Aufteilung auch einfach falsch. Das Gruppieren verliert dabei irgendwie teilweise seinen Sinn.
Wechselt man nun zurück zum regulären Modus, bleiben alle Anwendungen im Vollbild. Das ist nicht perfekt, aber sie behalten zumindest ihre letzte Position, wenn man sie wieder verkleinert.

Das Startmenü mit den Kacheln als Vorschau ist okay. Man kann den Kachel-Bereich etwas breiter ziehen um mehr Apps zu sehen. Unter Win8 habe ich mich darauf eingelassen, so gut wie alle Programme nur als Kachel und nicht als Desktop-Verknüpfung zu verwenden. Ein Tipp auf die Win-Taste, ein Klick, fertig! Das erfordert nun mehr Scroll-Arbeit.
Wer die "zuletzt verwendeten Apps" ausgeblendet hat (Welche ich noch nie angeklickt habe. Wo kommen die her?) hat nun ein schwarzes, ungenutztes Feld. Das war in der Preview besser.

Die Updates installieren sich nun selbstständig. Das ist in Ordnung so. Leider erfährt man nun aber nicht mehr ob man den Rechner einfach herunterfahren kann, oder noch ein "Update wird angewendet XX%" Bildschirm erscheint.
Bisher hatte ich schon 2x, dass sich der PC nicht ausgeschaltet, bzw. beim runterfahren aufgehangen hat. Daher muss ich dann warten um nochmal am Lüfter zu horchen :-/

Grundsätzlich finde ich das Design gut, die Performance ist toll, aber ein paar Dinge die bei Win8, bzw. 8.1 gut gelöst waren und an die man sich gewöhnt hat, wurden leider verschlimmbessert.

Thema: Outlook gesendete E-Mail abfangen
Am im Forum: Office-Technologien

Zitat von Abt
Wenn die Filterung des Spams nur in Form einer Verschiebung in einen entsprechenden Ordner des Profilfachs (klassische Junk-Mail) oder durch ein Tagging (Prefix im Betreff) markiert wird, aber dem Mitarbeiter nicht vorenthalten wird, dann ist das völlig legitim.
Nein, das ist wiederum auch nicht so richtig.
Es geht darum, dass sie maschinell, inhaltlich ausgelesen wird, um anhand von Blacklisten/Keywords erst als SPAM erkannt zu werden. Und das verstößt schon gegen das Fernmeldegeheimnis.
Ob die nun verschoben oder gekennzeichnet wird, ist dabei zweitrangig.

Denke wir sind uns beide einig, dass die NSA gegen das Postgeheimnis verstößt, auch wenn sie "nur" maschinell den weltweiten Emailverkehr auswertet :)

Die Betriebsvereinbarung habe ich ja auch extra aus dem Wiki-Artikel hervorgehoben. Offensichtlich habe ich mich aber falsch ausgedrückt: Der private Mail-Verkehr muss unterbunden oder eine vertragliche Vereinbarung mit dem MA getroffen werden.