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 STF-DIR
Thema: Cefsharp Deployment Files
Am im Forum: Rund um die Programmierung

Tranks a lot, i will have a look at it

Matthias

Thema: Cefsharp Deployment Files
Am im Forum: Rund um die Programmierung

Hallo,

danke für die ausführliche verständliche Antwort.
Dann lass ich das erst mal so.

Mich würde aber trotzdem die von dir erwähnte "Edge-Engine" interessieren.
Muss ich die Installieren oder soll das die "Webbrowser" komponente sein?
Die hatte zuerst getestet, aber da bekomme ich immer die blöden Script-Fehler. ( die einfach deaktivieren hab ich probiert, dann läd aber die Webseite nicht mehr )

Matthias

Thema: Cefsharp Deployment Files
Am im Forum: Rund um die Programmierung

Hallo,
ich wusste nicht genau welches Forum ich wählen sollte und hoffe ich bin hier richtig, falls nicht ... sorry dafür.

Also eine Frage zu Cefsharp. Ich habe das noch nie benutzt oder gebraucht, aber jetzt muss ich in mein Project einen
Webbrowser einbinden, der Javascript und HTML5, also aktuelle Webseiten unterstützt.
Die Googlesuche sprach immer wieder von Cefsharp, also hab ich das installiert, funktioniert auch.

Mir ist aber aufgefallen, das ich im Ausgabepfad ( also Debug/Release ) sehr viele Dateien habe, siehe Anhnag.

Kann man das irgendwie unterbinden ?

Danke
Matthias

Thema: Frage zu Interpolation
Am im Forum: Rund um die Programmierung

Hallo,

wie das Program auf 4.5 kommt weiß ich auch nicht so genau, ist aber auch nicht so tragisch.
Ich muss ja nur irgendwie die Berechnung in c# nachbauen. Wenn es da kleinere Abweichungen geben sollte
ist das nicht schlimm.

Matthias

Thema: Frage zu Interpolation
Am im Forum: Rund um die Programmierung

Hallo,
ich hoffe ich habe die Überschrift richtig gewählt, denn ich habe keine richtige Ahnung wo ich bei meiner Frage ansetzen kann.

Also ich habe eine Tabelle ( siehe Anhang ).
In der ganz linken Spalte haben wir das Gewicht (rot), in der ersten oberen Zeile haben wir einen Punkt (blau), genannt Center of Gravity ( CG % ).
Diese beiden Werte sind gegeben, müssten aber noch interpoliert werden, da es auch Gewichte von z.B. 65000 Kg geben kann.
Gleiches gilt für den CG Wert.

Nun ist meine Frage wich ich das programmieren kann, das ich aus diesen beiden Werten auf den Trim Wert (gelb) kommen kann?
Wie mache ich das am besten?
Ich habe keine Ahnung wo/wie ich da anfangen soll?

Gegebene Werte könnten z.B. folgende sein:

Weight: 60283 Kg
CG : 23,2 %
Woraus sich ein Trim Wert von +4.5 ergeben sollte.

Danke euch
Matthias

Thema: Bei einem PDF im WebBrowser (WPF Control) das Kontext- und Hovermenü verhindern?
Am im Forum: GUI: WPF und XAML

Hallo,

eine Frage, ist es möglich, wenn man mit WPF über einen Webbrowser ein PDF anzeigen lässt,
das Kontextmenü zu verhindern und auch diese Menü ( keine Ahnung wie das heißt ) was am
oberen Rand erscheint? (siehe Anhang)

Ich hab gerade mit WPF angefangen, da ist also nur diser code im Grid:


    <Grid>
        <WebBrowser x:Name="webbrowser" HorizontalAlignment="Left" Height="409" VerticalAlignment="Top" Width="782"/>

    </Grid>

und das hier im code behind:


            webbrowser.Navigate(new System.Uri(@"\\FREENAS\freenas\Matthias\Downloads\online fliegen\LidoCharts\charts\charts\AGGH\[2-10] AFC AFC.pdf#toolbar=0&navpanes=0&statusbar=0&messages=0"));


mit

#toolbar=0&navpanes=0&statusbar=0&messages=0

kann man ja laut dieser seite:
https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf

einiges verhindern, aber anscheinend nicht das Kontextmenü und diese was ihr auf dem Bild seht.

Vielleicht hat ja jemand eine Idee?

Cefsharp habe ich nicht zum laufen bekommen und spirepdf, was ich in meiner Windows Forms app als freeware verwende da ich nur immer eine pdf Seite darstelle, scheint es für WPF nicht zu geben...

Danke
Matthias

Thema: SetForegroundWindow funktioniert nur einmalig
Am im Forum: Rund um die Programmierung

Hallo,

keine Ahnung was mich mit dem englisch geritten hat, sorry.

Also SetForegroundwindow gibt beim ersten Versuch vom FMC aus TRUE und beim zweiten mal FALSE zurück.
Das Handle für den Prepar3d hab ich mir auch ausgeben lassen, das wird gefunden und ist auch das gleiche.

Komisch...

Wie bekommt man denn nun raus, warum das FALSE zurück gibt ??

Thema: SetForegroundWindow funktioniert nur einmalig
Am im Forum: Rund um die Programmierung

Hello,

i tried the your solution and i also did a research for other solutions in this way, but nothing works.

Always, when i press the button in my App, then it works, but when i tried it from the other app ( FMC ) then it works only one times. When i tried it again it will not work.
I am running out of ideas whith all the ways to bring the Prepar3D window to focus.

Have you any other ideas ?

Matthias

Thema: SetForegroundWindow funktioniert nur einmalig
Am im Forum: Rund um die Programmierung

Hallo,

nach langer Zeit habe ich mal wieder ein Problem, mit dem ich einfach nicht weiter komme.
Es ist auch etwas schwer zu erklären, aber ich hoffe ich kann es euch rüberbringen, so das ihr mir helfen könnt.

Also zur grundsätzlichen funktion:

Es gibt 3 Programme, ein FMC ( ganz links) den Prepar3D (mitte), und mein kleines Programm (rechts).
Über mein Programm kann ich die Türen an dem Flugzeug bedienen.
Das gleiche soll nun auch über das FMC gehen.

Funktionieren tut das ganz so, das ich in meinerm Programm auf einen Button für eine Tür drücke und dann wird diese geöffnet/geschlossen. Damit das aber funktioniert muss der Prepar3D den Focus haben, damit die Tastenkombination ( TAB+1 .. TAB+7) auch bei dem Prepar3d ankommt.

Wenn ich das ganze nun von meinem Programm mache, dann bekommt zuerst der Prepar3d den Focus:



        public static void ActivateApp(string processName)
        {
            Process[] p = Process.GetProcessesByName(processName);
            
            if (p.Count() > 0)
                SetForegroundWindow(p[0].MainWindowHandle);

        }

und dann wird die jeweilige Tastenkombination gesendet.

Funktioniert Super.

Nun kommt der komplizierte Teil:

Wenn ich das ganze über das FMC machen will, dann funktioniert das nur EIN MAL nachdem ich meini Program gestartet habe.
Dabei ist es auch egal, welches der Programme den Focus hat, das hab ich schon getestet.
Beende ich mein Programm, dann funktioniert es wieder ein mal und dann nicht mehr.
Ich hab das mal probiert und habe mein Programm, nachdem ich es das erste mal gestartet hatte, über den Prepar3d gelegt und dann im FMC eine Taste gedrückt. Danach sieht man wie mein Programm in den Hintergrund geht und der Prepar3d in den Focus kommt.
Das funktioniert aber nur ein mal ???

Also könnte man sagen, das der Code ansich funktioniert, aber nur genau ein mal.
Die Frage ist warum der gleiche Code nur einmal funktioniert???

Ich habe euch mal einen Screenshot von den 3 Programmen angehangen und hoffe ihr könnt helfen ?
Man sieht auf dem Bild auch, das in dem FMC ( ganz links ) eine "1" steht ( rot unterstrichen )
Das passiert, wenn ich im FMC versuche die Tür zu bedienen, NACHDEM es das erste mal funktioniert hatte. Nach dem ersten mal kommen die Tastenkombinationen dann nicht mehr im Prepar3D ( mittleres Fenster ) an, sondern das FMC behält sozusagen den Focus.

Ist etwas schwer zu erklären, hoffe ich konnte es einigermaßen verständlich rüber bringen?

Danke
Matthias

Thema: Skype4com funktioniert nicht mehr - Gibt es einen Ersatz?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Skype4sharp bin ich grad am probieren.
Nach eingabe des richtigen Username+passwort kommt in dem Dos Fenster zuerst Login complete und dann Events set. Jedoch kurze Zeit später unterbricht der Debugger hier:


        private void blockUnauthorized()
        {
            if (authState != LoginState.Success)
            {
                throw new InvalidSkypeActionException("Not signed in");
            }
        }

Naja egal.

Keine Angst, das sollte keine weitere Frage sein.
Kannst das thema schließen ... und entschuldige, das ich hier etwas gefragt habe.

Matthias

Thema: Skype4com funktioniert nicht mehr - Gibt es einen Ersatz?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ja, aber nach Skype4com, nicht Skype4Sharp.
Ich schau es mir an.

Komisch, das auch die Nuget Package nicht geht...

Danke Dir
Matthias

Thema: Skype4com funktioniert nicht mehr - Gibt es einen Ersatz?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

da skype4com nicht mehr funktioniert wollte
ich mal fragen, ob es eine andere Möglichkeit gibt
als Ersatz für Skype4Com?

Matthias

Thema: Task enthält keine Definition für FromResult
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Habs hinbekommen,

Danke
Matthias

Thema: Task enthält keine Definition für FromResult
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ja hab ich schon probiert.
Leider blockiert meine GUI dann immer noch?

Matthias

Thema: Task enthält keine Definition für FromResult
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ahh, habs gerade gefunden.
Lag am eingestellten .NET Framework...

case closed :-)

Matthias

Thema: Task enthält keine Definition für FromResult
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich hab ein ganz komisches Problem.
Ich habe ein laufendes Project und wollte da einen Task einbauen. Dafür wollte ich erst mal probieren wie das ganze funktioniert und wollte mein Program mit folgendem Testcode compilieen und testen.


        private System.Threading.Tasks.Task<bool> isEven(int counter)
        {
            return System.Threading.Tasks.Task.FromResult(true);
        }

Komisch ist, das ich einen Fehler bekomme:
Fehler
CS0117 "Task" enthält keine Definition für "FromResult".

Daraufhin habe ich mal eine neue Projektmappe erstellt zum testen und dort geht es.
Dann hab ich mal using System.Threading.Tasks; rausgenommen, aber das geht auch nicht.

Habt ihr eine Ahnung an was das liegt?

Matthias

Thema: Wie kann ich auf das abonnieren eines Events reagieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

danke für den Hinweis noch mal, ich schau es mir gerade genauer an.

Matthias

Thema: Wie kann ich auf das abonnieren eines Events reagieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ach das ist ein Paket ... oh man.... ich hatte das gelesen, aber weil da "zum Beispiel" hab ich gar nicht in diese Richtung gedacht.

Danke dir !!

Matthias

Thema: Wie kann ich auf das abonnieren eines Events reagieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ja genau, werd mal ein paar tutorials durchmachen um das ganze erst mal genau zu verstehen.
Ich danke dir bis dahin erst mal für die Hilfe !!

Eine letzte Frage hab ich aber noch.
Ich hab deinen Code oben mal in VS übernommen.
Leider meckert VS da immer an dem "Observable" rum und ich weiß nicht was ich da machen muss.
Eine fehlendes using scheint es nicht zu sein, oder doch ?
Mit dem Fehler nicht wirklich was anfangen. VS sagt nur, das Observable im aktuellen Context niht vorhanden ist... ?
Ich hab mal ein Bild davon angehanagen.

Ich wäre dir sehr dankbar, wenn du mir damit als letztes noch mal elfen könntest, denn da hing ich vorhin schon.

danke
Matthias

Thema: Wie kann ich auf das abonnieren eines Events reagieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ja sorry, ich muss es ja auf die FSUIPC ummünzen.
Wie gesagt, ich hab nich nie was mit Task/async/await gemacht, aber jeder hat ja mal angefangen :-)
Geprüft wird hier:


        public async Task<bool> GetFsuipcState()
        {
            bool running = false;
            try
            {
                /// Hier wird geprüft ob eine Abfrage erfolgreich ist Wenn nicht
                /// bleibt running = false
                FSUIPCConnection.Process();
                running = true;
            }
            catch (Exception eex)
            {


            }
            return await Task.FromResult<bool>(running);
        }

Wenn FSUIPC.Process() funktioniert, dann wird running = true, ansonsten bleibt es false.
In dieser FSUIPC geschichte gibt es keine andere möglichkeit zu prüfen, ob eine Verbindung hergestellt werden kann oder nicht.

Matthias

Thema: Wie kann ich auf das abonnieren eines Events reagieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

danke, ich werd mir das mal zu gemüte führen.

Ich habe mich an deinem Code versucht, bin aber leider nicht ganz weiter gekommen.
Ich hab mal ein neues Project erstellt um das mal zu testen.
Allerdings funktioniert das ganze noch nicht so ganz.
Ich versteh nicht, wie ich die Änderung im connection status abfangen kann.
Leider hab ich mit Tasks und await/async noch keine erfahrungen, aber die kann man ja auch nur so sammeln.

Ich hab das mal absichtlich alles in eine Datei geschrieben, der Einfachheit halber.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using FSUIPC;

namespace TestObserver
{
    public class FsuipcInfo
    {
        public FsuipcInfo()
        {
        }

        public async Task<bool> GetFsuipcState()
        {
            bool running = false;
            try
            {
                /// Hier wird geprüft ob eine Abfrage erfolgreich ist Wenn nicht
                /// bleibt running = false
                FSUIPCConnection.Process();
                running = true;
            }
            catch (Exception eex)
            {


            }
            return await Task.FromResult<bool>(running);
        }
    }



    public class FsuipcHandler
    {
        public delegate void FsuipcState();
        public event FsuipcState OnFsuipcStateChanged;

        public async Task<bool> AccessFsuipcAsync()
        {
            FsuipcInfo fi = new FsuipcInfo();
            Task<bool> fiTast = fi.GetFsuipcState();
            bool running = await fiTast;

            if (OnFsuipcStateChanged != null)
            {
                OnFsuipcStateChanged();
            }

            return running;
        }

    }
    public partial class Form1 : Form
    {
        FsuipcHandler fh;
        public Form1()
        {
            InitializeComponent();
            fh = new FsuipcHandler();
            fh.OnFsuipcStateChanged += Fh_OnFsuipcStateChanged;
        }

        private void Fh_OnFsuipcStateChanged()
        {
            MessageBox.Show("OnFsuipcStateChanged");
        }

        private async void getFsuipcState()
        {
            await fh.AccessFsuipcAsync();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            getFsuipcState();
        }
    }

}

Nun hab ich zwar das event abonniert, aber wenn die Verbindung nicht zur verfügung steht dann passiert nix :-(

Vielleicht kannst du da noch mal kurz drüber schauen.
Da scheint irgendwie dieser Teil


    private async Task VerifyAsync()
    {
        var httpRequest = await ...;
        IsAvailable = httpRequest.Succeeded;
    }

zu fehlen, aber ich weiß leider nicht wie ich das implementieren kann?

Matthias

Thema: Wie kann ich auf das abonnieren eines Events reagieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

danke für die Antwort, dann mache ich das so.

Ich habe von Euch schon öfter den Hinweis bekommen das mein Code Designs nicht besonders ist.
Da ich mir das bisschen Wissen selber beigebracht habe und auch nur für mich benutze, habe ich mich darum noch nie so richtig gekümmert.

Habt ihr da einen guten Quellenhinweis für gutes Code Design?

Matthias

Thema: Wie kann ich auf das abonnieren eines Events reagieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich habe eine Klasse, die ein Event zur Verfügung stellt.
Beim instanzieren der klasse wird in deren Konstruktor eine Methode aufgerufen,welche prüft ob eine Verbindung zu einem Dienst verfügbar ist oder nicht.
falls nicht wird ein Timer gestartet, der dann immer wieder prüft ob die Verbindung hergestellt werden kann oder nicht.
Dabei wird dann das event gefeuert und in meiner Form wird dann ein Panel rot oder grün.

Soweit so gut, wenn die Verbindung beim starten ( instanzieren der Klasse ) noch nicht hergestellt werden kann funktioniert das ganze super.
Allerdings wenn die Verbindung beim instanzieren hergestellt werden kann wird ja der Timer gestoppt, und somit das event nicht gefeuert. ( mein statuspanel nicht aktualisiert )
Der Timer läuft erst wieder an, wenn eine Methode in der klasse aufgerufen wird und keine Verbindung mehr besteht.

In meiner Form instanziere ich also die klasse und rufe den Konstruktor auf, und DANACH abonniere ich aber erst das event.
Also wird das Statuspanel beim instanzieren der Klasse nicht aktualisiert, wenn schon eine Verbindung hergestellt wurde.

Mir fehlt jetzt ein bisschen der Ansatz wie man das lösen könnte, da der Timer ja auch nicht immer laufen soll.

Habt ihr eine Idee wie man das lösen kann ?

Matthias

Thema: Auf/Zuklappen von Regions als Shortcut in VisualStudio 2017 gesucht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

für alle die auch danach suchen...
wenn man dort einen Haken setzt ( siehe Bild ) dann klappt es mit STRG+O + M

Matthias

Thema: Auf/Zuklappen von Regions als Shortcut in VisualStudio 2017 gesucht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Danke, ich schau mir die Tools mal an.
Will eben nicht, das alles zuklappt.

Matthias

Thema: Auf/Zuklappen von Regions als Shortcut in VisualStudio 2017 gesucht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Natürlich sehe ich da auch EIN zuklappen, aber nicht REGIONEN ZUKLAPPEN.
Falls du das dort siehst bin ich wirklich blind.

Matthias

Thema: Auf/Zuklappen von Regions als Shortcut in VisualStudio 2017 gesucht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

würd ich j gerne, aber "NUR REGIONEN ZUKLAPPEN" gibt es ja nicht.
Darum geht es ja.

Matthias

Thema: Auf/Zuklappen von Regions als Shortcut in VisualStudio 2017 gesucht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

STRG+M+O geht schon, ich wollte aber nur die Regionen zuklappen.

Matthias

Thema: Auf/Zuklappen von Regions als Shortcut in VisualStudio 2017 gesucht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

echt lustig, da gibts auch nicht ... komisch.
VS2017 ist doch das letzte oder vielleicht liegt es auch an der Community Version die ich benutze?

Matthias

Thema: Auf/Zuklappen von Regions als Shortcut in VisualStudio 2017 gesucht
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

komisch, bei mir gibts da gar nix mit "region" ??

siehe bild

Hast du irgend ein Addon installiert?

Matthias