Laden...

Forenbeiträge von mikefried Ingesamt 198 Beiträge

28.04.2016 - 08:49 Uhr

OK!

Vielen dank für Eure Tipps.

Gruss Mike

27.04.2016 - 16:19 Uhr

Ein Hallo an Alle!

Meine Frage ist, wie ich ein ComObject richtig freigeben kann.

Im Netz habe ich folgendes gefunden:


try 
    { 
 } 
    catch (Exception ex) 
    { 

    } 
    finally 
    { 
        GC.Collect(); 
        GC.WaitForPendingFinalizers(); 

        System.Runtime.InteropServices.Marshal.FinalReleaseComObject( _someComObject); 

    } 

Nur bin ich mir bei der Aufrufreihenfolge vom GC und FinalReleaseComObject nich so sicher!
Es ist auch die Frage, ob man das ComObject = null setzen muss.
FinalReleaseComObjec löscht ja blos den RCW Verweis.

Gruss Mike

22.04.2016 - 09:49 Uhr

Hallo an Alle!

Und ein großes Dankeschön an die Leute dir mir geholfen haben 😃

So nun geht es ....

Ich habe eine weitere Regel in der Firewall eingetragen:
Protokoll UDP mmit Port 1434

Gruß Mike

30.03.2016 - 08:27 Uhr

So,

geht immer noch nicht!

An den Porteinstellungen kann ich nichts ändern, da noch ein recht teures Programm auf die SQL Server Instanz zugreift.

Ich hatte noch eine Firewall Regel direkt für die SQL Server exe angelegt, wie
in
https://msdn.microsoft.com/de-de/library/ms175043%28v=sql.120%29.aspx

unter
So ermöglichen Sie den Zugriff auf SQL Server bei der Verwendung von dynamischen Ports

Hat aber auch nicht funktioniert...

Ich suche jetzt nach einem Programm, welches der Firewall entlocket, welcher port angefragt wird.

Grüße
Mike

21.03.2016 - 11:57 Uhr

So,

hat nicht funktioniert 😦

Ich hatte noch per SQLServermanager12.msc
und dann auf die Instanz und dann auf TCP Dynamic Ports ..
den angegebenen Port freigegeben.

In meiner Testumgebung hat es funktioniert aber beim Kunden SBS nicht.

18.03.2016 - 15:09 Uhr

Vielen Dank!

18.03.2016 - 14:03 Uhr

Hallo an Alle,

ich wollt meine einfache WinForm Anwendung beim Kunden installieren...

Die DB liegt auf einem MS SQL Server und dieser läuft auf einem SBS von Microsoft.
Wenn ich nun versuche, meine Anwenung auf einem Clientcomputer zu starten, kommt eine
fehlermeldung, dass die Anmeldung an die DB nicht möglich ist....

Schalte ich die Firewall auf dem SBS aus, dann kann sich meine Anwendung mit der DB verbinden und Daten abfragen.

Stellt sich nun die Frage, was ich in der Windows Firewall einstellen muss, dass meine .NET Anwendung
durchgelassen wird!

Gruss Mike

03.03.2016 - 13:55 Uhr

Hallo!

Ich würde die SQL DB Abfrage per

WHERE e.JobTitle IN ('Design Engineer', 'Tool Designer', 'Marketing Assistant');

implementieren.

Die e.JobTitle wäre dann deine ID und ('..', '..', ... , '..') müssen die ID's aus der DataTable
sein. Diese einfache per string in die SQL Abfrage.

Gruße Mike

09.12.2015 - 10:08 Uhr

wow!

klingt ja sehr interessant!

08.12.2015 - 15:21 Uhr

Ich habe in einem meiner Projecte auch so ein Phänomen!

Immer wenn ich den Designer eines bestimmten Forms lade verschiebt er mir das eine Control
auf dem Form. Er kann einfach die lestzte Einstellung nicht speichern?

Eine Lösung habe ich auch noch nicht. Ich klicke immer auf
Steuerelement Sperren. Dann ist es fix.

Mike

08.12.2015 - 08:14 Uhr

Hallo!

Ist es nicht viel wichtiger, dass man die Fehler im eingegebenen Text findet und anzeigt?

Also so in Richtung lexikalische Analyse und dann das Ergebnis Parsen...

Mike

11.09.2015 - 12:35 Uhr

Also ich kann den ReportGenerator von der Firma Devexpress empfehlen.
Der ist zwar nicht kostenlos... aber sehr sehr gut.... fast wie Access

Einfach mal die Trail Version testen...

Mike

11.09.2015 - 10:30 Uhr

es muss an den Hyper V Einstellungen liegen da ja meine VM ganz leer war und ich
Hyper - V nur angestellt hatte...
Im Laptop arbeite ich ja schon lange mit dem Hyper-V und mit vielen Virtuellen switches

11.09.2015 - 10:29 Uhr

Sorry hatte ich vergessen zu schreiben:-(

Laptop hat win8.1 pro als 64 bit wie auch die VM!

11.09.2015 - 10:16 Uhr

Ein Hallo an Alle!

ich versuche auf meinem Laptop MS VS Community 2015 zum laufen zu bringen...
Um Windows Phone App's zu entwickeln.

Nur startet der Windows Phone Emulator 8.1 nicht.
Es kommt immer die Fehlermeldung

Schweregrad Code Beschreibung Projekt Datei Zeile
Fehler Eine Ausnahme vom Typ "Microsoft.SmartDevice.Connectivity.PlatformNotFoundException" wurde ausgelöst. 0

Der Witz ist nur, dass ich die komplette Installation schon auf einer Virtuellen Maschine zum laufen bekommen habe.

Es muss am Hyper-V liegen?

Gruß
M.Friedrich

PS: Hyper-V läuft und SLAT auch

07.08.2015 - 09:29 Uhr

Hallo

vielleicht die Html page in ein Image umwandeln?


/// <summary>
    /// Convert url to bitmap byte array
    /// </summary>
    /// <param name="url">Url to browse</param>
    /// <param name="width">width of page (if page contains frame, you need to pass this params)</param>
    /// <param name="height">heigth of page (if page contains frame, you need to pass this params)</param>
    /// <param name="htmlToManipulate">function to manipulate dom</param>
    /// <param name="timeout">in milliseconds, how long can you wait for page response?</param>
    /// <returns>bitmap byte[]</returns>
    /// <example>
    /// byte[] img = new Uri("http://www.uol.com.br").ToImage();
    /// </example>
    public static byte[] ToImage(this Uri url, int? width = null, int? height = null, Action<HtmlDocument> htmlToManipulate = null, int timeout = -1)
    {
        byte[] toReturn = null;

        Task tsk = Task.Factory.StartNew(() =>
        {
            WebBrowser browser = new WebBrowser() { ScrollBarsEnabled = false };
            browser.Navigate(url);

            browser.DocumentCompleted += (s, e) =>
            {
                var browserSender = (WebBrowser)s;

                if (browserSender.ReadyState == WebBrowserReadyState.Complete)
                {
                    if (htmlToManipulate != null) htmlToManipulate(browserSender.Document);

                    browserSender.ClientSize = new Size(width ?? browser.Document.Body.ScrollRectangle.Width, height ?? browser.Document.Body.ScrollRectangle.Bottom);
                    browserSender.ScrollBarsEnabled = false;
                    browserSender.BringToFront();

                    using (Bitmap bmp = new Bitmap(browserSender.Document.Body.ScrollRectangle.Width, browserSender.Document.Body.ScrollRectangle.Bottom))
                    {
                        browserSender.DrawToBitmap(bmp, browserSender.Bounds);
                        toReturn = (byte[])new ImageConverter().ConvertTo(bmp, typeof(byte[]));
                    }
                }

            };

            while (browser.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }

            browser.Dispose();

        }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.FromCurrentSynchronizationContext());

        tsk.Wait(timeout);

        return toReturn;
    }

PS: C# source ist nicht von mir!!!

03.06.2015 - 09:04 Uhr

Hallo!

ich verwende immer


  _curSelectedRow.RejectChanges();

curSelectedRow ist eine DataRow aus einer DataTable vom DataSet

MfG
Mike

14.04.2015 - 13:10 Uhr

Hallo!

Vielleicht per linq


var _carsQuery = lstSearchedCar.Where(c => c.Contains.....

Gruss Mike

09.02.2015 - 12:12 Uhr

@Palladin007

Das werde ich so Machen!! Vielen Dank für Deinen Tipp

Gruss an Alle Mike

06.02.2015 - 16:09 Uhr

Könnte man eine DB Tabelle nehmen
und per TimerSchleife so aller paar ms einen neuen DateTime Wert pro
Prog.Instanz schreiben....

Wird eine neue Programminstanz gestartet, muss diese in die Tabelle
sehen und zählen wieviele Programminstanzen aktiv sind.
Vielleicht alle der letzten 20s.

Ist die Sperranzahl erreicht kann der Programmstart unterbrochen werden.

Mike

06.02.2015 - 15:20 Uhr

Hallo!

Ich hatte gehoft, dass der Datenbank Server mitbekommt, wenn ein Programm beendet wird. Auch wenn es abstürzt.

Mike

06.02.2015 - 15:03 Uhr

verwendetes Datenbanksystem:MS SQL Server 2008

Hallo an Alle!

Ich möchte herausbekommen wie oft meine Anwenung gestartet wurde.

Also ich habe ein Programm geschieben, das man auf mehreren Rechnern im Netzwerk
starten kann (auch TerminalServer). Das Programm verbindet sich immer
mit einem SQL Server und dann auf verschiedene Datenbanken.

Nun soll das Programm prüfen wieviele male es schon geöffnet ist um dann zu entscheiden ob es noch einmal geöfnet werden kann. So möchte ich die Anzahl der zu öffnenten Prog.Instanzen beschränken.

Ich habe mir schon sp_who2 und dbo.sysprocesses angesehen, habe aber keine
Idee, wie ich diese für mich nutzen kann.

Für Eure Hilfe schon einmal vielen Dank!!!!

Mike

29.10.2014 - 13:02 Uhr

Hallo!

Also bei mir war diese Aufgabe nicht so schwer...

  • Ich habe ein neues Klassenbibliothek Projekt erstellt.

  • Es so konfiguriert, wie von Dir beschrieben ...

  • Im Zielprogramm muss ich nur als Host localhost wählen, die richtige DLL auswählen und dann noch meine Methode... und schon läuft es.

  • Wichtig ist nur, dass Du die DLL auf dem Zielrechner registrierst per RegAsm.exe

Gruss Mike

07.10.2014 - 16:51 Uhr

Hallo!

Vielleicht die GroupBox usw. in einem UserControl kapseln!

Gruss Mike

05.09.2014 - 12:39 Uhr

Hallo!

Noch ein Nachtrag von mir....

In dem Programm was ich nutze gibt es zwei Tabellen. Eine für die Artikel und eine für die Stücklisten.
Hat ein Artikel eine Stückliste, so wird dann diese Verbindung in die Stücklistentabelle eingetragen.
Also eine einfache Baumstrucktur.

Gruss Mike

05.09.2014 - 10:07 Uhr

Hallo!

Vielen Dank für Eure Antworten...

Meine Lösung wird woll irgendwo in der Mitte liegen.

Mike

03.09.2014 - 15:21 Uhr

Danke für diese schnelle Antwort!

Nur wird diese percent_complete nicht für ein/mein SELECT befüllt!?

Percentage of work completed for the following commands:

ALTER INDEX REORGANIZE  

AUTO_SHRINK option with ALTER DATABASE  

BACKUP DATABASE  

DBCC CHECKDB  

DBCC CHECKFILEGROUP  

DBCC CHECKTABLE  

DBCC INDEXDEFRAG  

DBCC SHRINKDATABASE  

DBCC SHRINKFILE  

RECOVERY  

RESTORE DATABASE,  

ROLLBACK  

TDE ENCRYPTION  

ich weiss nicht ob da ein select bei ist?

03.09.2014 - 15:14 Uhr

verwendetes Datenbanksystem: MS SQL Server 2012

Hallo,

ich muss in meiner App anzeigen, wie lange meine DB Abfrage noch
benötigt. Sie läuft so ca. 70-120 min. Mein Kunde möchte also eine
Anzeige (ProgressBar), die Anzeigt wie lange die Select Abfrage noch benötigt.

Ich habe in sys.dm_exec_requests gesehen, das es da eine Spalte percent_complete
gibt.

SELECT * FROM sys.dm_exec_requests

...

Nur wird dieser Wert für ein Select Command nicht vom DBMS gefüllt.

Gibt es da eine andere Lösung?

Gruss Mike

18.07.2014 - 12:00 Uhr

Soll die SP je Row ein GridView Zelle befüllen, oder ist das Ergebnis der SP die Source für den GridView?

Gruss Mike

18.07.2014 - 11:56 Uhr

Hallo,

ich setzte per Methode die entspr. Button Disable...

Gruss Mike

11.07.2014 - 14:06 Uhr

vielleicht muss man die Panel nich in den Vordergrund bringen?

10.07.2014 - 12:58 Uhr

Hallo !

Ja, es liegt an Nullable<int>. Wenn ich dies lösche funktioniert es 😃

Vielen Dank!
Mike

10.07.2014 - 09:47 Uhr

Proben._LP_Nummer wird ja durch VS generiert


			[global::System.Data.Linq.Mapping.ColumnAttribute(Name="[_LP_Nummer]", Storage="__LP_Nummer", DbType="SmallInt")]
		public System.Nullable<short> _LP_Nummer
		{
			get
			{
				return this.@__LP_Nummer;
			}
			set
			{
				if ((this.@__LP_Nummer != value))
				{
					this.On_LP_NummerChanging(value);
					this.SendPropertyChanging();
					this.@__LP_Nummer = value;
					this.SendPropertyChanged("_LP_Nummer");
					this.On_LP_NummerChanged();
				}
			}
		}

So ist halt meine Frage, wie man ein ein gen. Linq Property bindet?

PS: bei einem GridView funktioniert das Binding ohne Problem!

09.07.2014 - 12:56 Uhr

Hallo an Alle!

Ich versuche den Wert eines numericUpDown an eine linq Abfragezeile zu binden, mit :


     public Proben _probe
        {
            get;
            set;
        }
...
        private void Form1_Load(object sender, EventArgs e)
        {
              DataClasses1DataContext _dc = new DataClasses1DataContext();
             _probe = _dc.Proben.FirstOrDefault();   

             numericUpDown1.DataBindings.Add("Value", _probe, "_LP_Nummer", false,     DataSourceUpdateMode.OnPropertyChanged);
}

das funktioniert auch. Der gelesen Wert wird auch richtig angezeigt. Nur wird der geänderte Wert nicht zurück in die _probe._LP_Nummer geschrieben.

Wo liegt mein Fehler?

Gruss Mike

25.02.2014 - 08:12 Uhr

Ist das Sharp3D Code?

Falls nicht, vielleicht geht es ja mit Sharp3D besser!

11.02.2014 - 13:31 Uhr

Hallo!

An dieser Stelle ziehe ich mir immer ein MenuStrip in meine Form. Das kümmert sich um solche Sachen, da man ja die Tastenkombinationen einfach angeben kann.

07.02.2014 - 13:57 Uhr

Das hört sich für mich nach MDI-Formularen an, oder ich habe die Frage nicht richtig verstanden!

17.01.2014 - 11:04 Uhr

Das hatte ich auch schon versucht ....

Zur Zeit versuche ich das Ändern Event per Enter Event anzuschalten und dann per Leave wieder auszuschalten. Mal sehen ob das was bringt.

Gruss Mike

17.01.2014 - 08:37 Uhr

Hallo an Alle!

Ich habe ein Problem mit dem Ändern von Werten im Binding bzw. DataSet.

In meinem Testprojekt habe ich zwei GridViews (von Devexpress). GV1 ist der Masterview mit allen Aufträgen einer Dummyfirma. Der GV2 ist der Detailview mit allen Belegpositionen zu dem Auftrag der in GV1 aktuell ausgewählt ist. Wird nun im GV1 eine andere Zeile ausgewählt, so wird durchs Binding im GV2 die Belegpositionen aktualisiert. Jede Belegposition hat eine Artikelnummer, eine Artikelbezeichnung und eine Artikelmenge. Nun muss man die Artikelnummer ändern können. Dazu habe ich ein weiters Binding zu einer Artikelliste gemacht. Wird nun im GV2 eine Position gewechselt, so ändert sich auch die Auswahl in der Artikelliste. Ändert man nun den ausgewählten Artikel in der Artikelliste, ändert sich durch das Binding ja auch der Artikel der Belegposition.

So weit so gut! Nun zu meinem Problem!
In der Belegposition muss nach einem Artikelnummernwechsel auch die Bezeichnung des Artikels angepasst werden. Also suche ich nach einer Möglichkeit, wie ich das machen kann. Ich hatte versucht per EditValueChanged Event der Artikelliste, die Bezeichnung zu ändern. Dieses Event wird aber auch ausgelöst, wenn sich nur die Belegposition ändert und ich den Wert nicht neu bestimmen muss. Dann hatte ich versucht das ListChanged Event der DataTable meines DataSet zu verwenden. nur wird dies viel zu spät ausgelöst.

Wie kann man nun herausbekommen, wann ich die Artikelbezeichnung ändern muss?

Gruß Mike

14.01.2014 - 12:37 Uhr

OK ich versuchs mal!
Danke

13.01.2014 - 15:54 Uhr

stellt sich nur die Frage wie ich für den User einen Formulareditor bauen kann.

13.01.2014 - 10:23 Uhr

Hallo Danke für die schnelle Antwort!

Ein Report wird sicher das einfachste sein. Muss ich nur mal sehen wie ich den Formulareditor baue.

Gruss Mike

13.01.2014 - 09:27 Uhr

Hallo!

Ich habe ein neues Projekt auf meinem Tisch!

In diesem Projekt muss man unter anderem auch eine Möglichkeit haben, einen Beleg drucken zu können. Nun suche ich also eine Idee wie ich so eine Druckfunktion implementieren kann.

Der User legt über einen Formulareditor die Textpositionen (zum Beispiel für Anrede, Vorname, Strasse) fest. Wenn er dann auf drucken klickt soll ein Vorschaufenster aufgehen. Dieses zeigt dann das fertig generierte Dokument (mit der Anrede usw). Dann kann es noch per Drucker ausgedruckt werden.

Nun suche ich also nach einer Technologie um so ein Druckformular füllen und drucken zu können.

Gruss Mike

19.12.2013 - 08:25 Uhr

Vielen Dank für die Info's !

Mike

18.12.2013 - 16:38 Uhr

Was für Spekulationen ?

18.12.2013 - 16:05 Uhr

da bin ich mir nicht sicher!

Die neue ID per AutoIncrement bekomme ich ja nur, wenn ich eine neue Artikelnummer
mit angebe und dann ein INSERT mache

An der Tabelle/Spalten kann ich auch nichts ändern

18.12.2013 - 15:50 Uhr

Die Transaktion macht doch nur einen ROLLBACK?

Da habe ich doch noch keine neue Artikelnummer?