-
Gesamte Inhalte
1167 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Gateway_man
-
[C#] Funktion wird übersprungen (SystemTypeLoadException)
Gateway_man antwortete auf Gateway_man's Thema in .NET
Die Klasse ExplorerEntity befindet sich innerhalb der Dev86UI.dll. Und nein mit der Plattform hat es nichts zu tun und es gibt auch keine Dev64UI.dll (das 86 hat nichts mit der Plattform zu tun). Ich habe in Erfahung gebracht das dieser Fehler häufig auftritt wenn Verweise auf Libraries gesetzt wurden, welche ein niedrigeres Zielframework besitzten. Daraufhin habe ich alle Verweise der jeweiligen Projekte überprüft. Jedoch nutzten alle das Zielframework 4.0. Sitze gerade ziemlich in der Sackgasse. lg Gateway -
[C#] Funktion wird übersprungen (SystemTypeLoadException)
Gateway_man antwortete auf Gateway_man's Thema in .NET
Es kommt keine Fehlermeldung. Im Output Fenster steht lediglich folgendes: lg Gateway -
Hi, ich hab aktuell das Problem das eine Anwendung ständig abschmiert aufgrund einer Funktion die eine Exception auslöst. Das skurile daran ist das ich bis zu dem Aufruf debuggen kann, er aber nicht an dem Breakpoint innerhalb der aufgerufenen Funktion anhält sondern direkt die Exception wirft. Als würde der Aufruf selbst fehlerhaft sein. Ich habe bereits die Signaturen überprüft und diese Stimmen überein. Nichts desto trotz erhalte ich ständig eine "System.TypeLoadException". Hier ist der Code der Klasse: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing; using System.Timers; namespace Dev86UI.FileExplorer.Windows.Components { [Serializable()] public sealed class ExplorerEntity { #region Fields private ExplorerEntityType type = ExplorerEntityType.Undefined; private FileNameVisibility filenameType = FileNameVisibility.Undefined; private EntitySizeMode entitySizeMode = EntitySizeMode.Normal; private ImageSizeEnum sizeMode = ImageSizeEnum.Normal; private string value = string.Empty; private string fullpath = string.Empty; private string preparedValue = string.Empty; private Icon ico; private Size size; private bool isSelected; private Point location; #endregion public ExplorerEntity(ExplorerEntityType EntityType, Icon ico, FileNameVisibility type, string Value, string fullpath,EntitySizeMode entitySizeMode) { this.type = EntityType; this.filenameType = type; this.value = Value; this.fullpath = fullpath; this.entitySizeMode = entitySizeMode; switch (entitySizeMode) { case EntitySizeMode.Large: this.sizeMode = ImageSizeEnum.Large; break; case EntitySizeMode.Normal: this.sizeMode = ImageSizeEnum.Normal; break; case EntitySizeMode.Small: this.sizeMode = ImageSizeEnum.Small; break; } //Bis hierhin kann ich debuggen dann steigt die Anwendung aus. //Die Breakpoints am Anfang von SetNewIcon werden ignoriert und //eine System.TypeLoadException wird geworfen. this.SetNewIcon(entitySizeMode, ico, EntityType); } #region Properties public string FullPath { get { return fullpath; } set { fullpath = value; } } public ExplorerEntityType Type { get { return type; } set { type = value; } } public string Value { get { return value; } set { this.value = value; } } internal Point Location { get { return location; } set { location = value; } } internal Size Size { get { return size; } set { size = value; } } internal string PreparedString { get { return preparedValue; } set { preparedValue = value; } } internal Icon Icon { get { return ico; } set { //ico = value; SetNewIcon(entitySizeMode, value, type); } } #endregion #region Functions //Das ist die besagte Funktion die aufgerufen wird. internal void SetNewIcon(EntitySizeMode entitySizeMode, Icon ico, ExplorerEntityType exType) { if (ico != null) { if (this.ico != null) { this.ico.Dispose(); } this.entitySizeMode = entitySizeMode; this.type = exType; switch (entitySizeMode) { case EntitySizeMode.Large: this.sizeMode = ImageSizeEnum.Large; break; case EntitySizeMode.Normal: this.sizeMode = ImageSizeEnum.Normal; break; case EntitySizeMode.Small: this.sizeMode = ImageSizeEnum.Small; break; } Size sz; if (exType == ExplorerEntityType.Folder) { Icon tempIcon = Dev86UI.Properties.Resources.folder; sz = this.sizeMode.GetSize(); this.ico = Utility.ImageUtil.ImageConverter.ResizeIcon(tempIcon, sz.Width, sz.Height); tempIcon.Dispose(); } else { if (ico != null) { this.ico = ico; } else { this.ico = Dev86UI.Properties.Resources.FileIco; } sz = this.sizeMode.GetSize(); if (!Utility.Util.CompareSizes(sz, this.ico.Size)) { Icon tempIco; tempIco = (Icon)this.ico.Clone(); this.ico.Dispose(); this.ico = Utility.ImageUtil.ImageConverter.ResizeIcon(tempIco, sz.Width, sz.Height); tempIco.Dispose(); } } } } #endregion } } Sieht jemand etwas auffälliges? lg Gateway
-
Berechnung von Rechecken auf Basis von Koordinaten-Vektor
Gateway_man antwortete auf Gateway_man's Thema in C++: Compiler, IDEs, APIs
Das max bedeutet nur das er bei einer Abweichung darüber hinaus das ganze Bild nehmen soll. Beispiel bei 95 % Abweichung braucht er den Bereich der sich geändert hat nicht extahieren. Dann soll er gleich den ganzen Bereich nehmen... Meinst du Prozentual?! An sich wird das ganze recht einfach gemacht. Die Cpp Funktion hat beide Bilder. Vor beginn des Vergleiches wird die GesamtPixel Anzahl erreichnet. (Width * Heigth) Am Ende der Funktion wenn der Vector alle Pixel beinhaltet die sich geändert haben wird folgendes gemacht: Percentage = (Vector.Size() / GesamtPixel) * 100 Was du jetzt mit der Farbtiefe willst weiß ich zwar nicht aber wie ich es berechne hast du oben schon gesehn. (Nebenbei bemerkt, werden nur ganz bestimmte Bilder in der Vergleichsfunktion unterstützt) Das halte ich für eher unwarscheinlich. Du kannst dich nur an Dinge hängen die auch über ein Handle verfügen und vom OS Messages erhalten. Was machst du also wenn Anwendung xy mit GDI einen Kreis auf HWND 0 zeichnet. Ich wüsste nicht wie ich mich daran hängen sollte. Ich wusste das es ein Fehler war auf den Einsatzzweck näher einzugehen, weil man leicht in Versuchung kommt und sich zu sehr auf die Funktion fixiert welche die Bilder vergleicht. Es geht mir nicht darum eine bereits funktionierende Funktion zu ersetzten. Und auch wenn mir das einige nicht glauben möchten. Der Vergleich sowie das extrahieren der veränderten Daten läuft aktuelle bei einer Auflösung von 1920x1080 innerhalb von 0,03571 Sekunden ab. Damit bin ich mehr als Zufrieden. Ist ja nicht so als würde ich 19201080 mal bmp1.GetPixel(x,y) != bmp2.GetPixel(x,y) performen. Es ging mir einzig allein darum die nicht veränderten Pixel aus dem Rechteck zu bekommen indem ich multiple kleinere Rechecke bilde auf Basis eines Vektors der die Pixeldaten innehält. Und das wenn möglich ohne die momentan akzeptable Dauer des ganzen Prozesses groß zu beeinflussen. Das Problem das aus dem oben genannten Problem resultiert ist folgendes: Wenn sich zwei Bildpunkte ändern, die jedoch weit voneinander entfernt sind, wird ein großes Rechteck gebildet und das ist kontraproduktiv wenn ich versuche den Netzwerktraffic so gering wie möglich zu halten. lg Gateway -
Berechnung von Rechecken auf Basis von Koordinaten-Vektor
Gateway_man antwortete auf Gateway_man's Thema in C++: Compiler, IDEs, APIs
Aktuell wird entweder ein ganzes Bild oder nur der partielle Teil der sich geändert hat übertragen (teilweise Redudant bei der partiellen Übertragung). Das Prinzip ist einfach. Solange das Modul aktiv ist wird von der .NET Anwendung eine Funktion einer Cpp Library aufgerufen. Deren Signatur sieht wie folgt aus: bool ExtractChangedRectangleExt(IntPtr hbmp, IntPtr hbmp1, int min, int max, ref ImageCompareResult result); Der min Wert definiert die Prozentual minimal benötigte Abweichung beider Bilder. Erst wenn dieser Wert überschritten ist, wird das Rechteck berechnet das den veränderten Inhalt beinhaltet. Der max Wert definiert die Prozentual maximale Obergrenze. Die .Net Anwendung arbeitet dann mit dem ImageCompareResult objekt weiter. Darin ist der fehlercode definiert (Sofern ein Fehler auftrat), sowie die prozentuale Abweichung beider Bilder und das Rechteck das sich geändert hat. Aktuell wird ein Rechteck dann ermittelt wenn eine Abweichung von mindestens 2 Prozent erreicht wurde. Das Recheckt wird berechnet. Die Bildpunkt-Informationen werden extrahiert und das Ergebnis wird verschlüsselt über einen Socket in der .NET Anwendung gesendet. Ich werde mich dahingehend mal etwas weiter Informieren. Es geht mir nicht um kompatibilität. Das wäre aktuell garnicht möglich da die alternativanwendungen die du aufgezählt hast nichts mit den Daten anfangen könnten (Daten werden über ein nicht properitäres Verfahren verschlüsselt). Dann gibt es noch faktoren wie: - Mögliche Probleme mit Lizenzen von Drittanbietern. - Da die Anforderungen zweifelsohne eine Anpassung der Fremdkomponenten notwendig macht müsste es eine Open-Source Lösung sein die gut Dokumentiert ist. Es geht mir letztendlich darum die bestehende Lösung zu verbessern. Aber wir schweifen vom Thema ab. Es geht hier keineswegs um das gesamte Modul (da dies ja schon funktioniert), sondern lediglich um die sinvolle Gruppierung der geänderten Bildpunkte. (vorzugsweise in Geometrischen Formen). Ich werde testweise die aktuelle Funktion fertig implementieren und mich dann nocheinmal melden um meinen Lösungsweg zu posten. Eventuell fällt dem ein oder anderen noch ein Weg ein das ganze noch etwas flotter zu gestallten. lg Gateway -
Berechnung von Rechecken auf Basis von Koordinaten-Vektor
Gateway_man antwortete auf Gateway_man's Thema in C++: Compiler, IDEs, APIs
Exakt das hatte ich ja gehofft. Wie gesagt es geht mir hierbei weniger um eine fertige oder allgemein um die Lösung. Wie ich schon geschrieben hatte ging es mir eher darum wie ihr das angehen würdet. Damit meine ich nicht das komplettieren oder neudefinieren meiner Funktion. Viele Wege führen nach Rom, jedoch hat jeder seine eigenen Vor- und Nachteile. Wie ich bereits erwähnte sind die Kriterien hierfür lediglich die Performance. Klotzkopp hat den Ball schonmal ins Rollen gebracht indem er verschiedene Vorgehensweise erwähnte. Beispielsweise könnte ich für jeden Punkt der übergeben wurde ein Rechteck definieren. Das hatte ich mir auch schon überlegt und es dann wieder verworfen weil es bei vielen Punkten nichtmehr performant wäre. Damit man sich das besser vorstellen kann werde ich jetzt mal die Katze aus dem Sack lassen und den Einsatzzweck dieser Funktion erörtern. (Wobei ich denk das die meisten sich schon vorstellen können worauf das abziehlt). Ich habe ein Modul das Bildschirminhalte überträgt. Ich kämpfe aber momentan noch um Performance. Zu Anfangs hatte ich den kompletten Bildschirminhalt komprimiert übertragen. Das klappte innerhalb eines lokalen Netzes auch wunderbar. Wenn man aber ins WAN wechselt wird das ganze abhängig vom Verbindungspartner sehr langsam. Der Gedanke (der ja an sich schon in vielen Programmen umgesetzt wurde) war das man nur den Bereich sendet der sich geändert hat. Eine solche Funktion würde geschrieben und ist aktiv im Einsatz. Diese ist akzeptabel aber es besteht noch viel Optimierungsbedarf. Ich hatte mich damal entschieden es so einfach wie möglich umzusetzten (aus Zeitgründen). Ich vergleiche lediglich die Bildpunkte beider Bilder. Dann wird eigentlich das gemacht was ich oben bereits erwähnte. Es wird ein Rechteck gebildet von den Punkt in der linken oberen Ecke und dem Punkt in der rechten unteren Ecke. Die Problematik dabei habe ich oben bereits erwähnt aber ich werde Sie anhand des beispiels nochmal erläutern. Stellt euch vor ein Icon im IconTray ändert sich und zur gleichen Zeit selektiert Ihr eine Desktopverknüpfung in der linken oberen Ecke eures Desktops. Das Programm bemerkt es und bildet statt zwei kleiner Rechecke ein riesiges das von der Selektierten Desktopverknüpfung links oben bis runter zu dem Icon im IconTray geht. Das ist natürlich alles andere als optimal. Wie gesagt es geht mir hier weniger um eine Lösung sonder mehr um die verschiedenen Vorgehensweisen. Daher habe ich mich an euch gewendet um mich von euren Vorgehensweisen Inspirieren zu lassen. Ich hatte beispielsweise auch schon die Möglichkeit in Erwägung gezogen die geänderten Bildpunkte einzeln zu übertragen. lg Gateway -
Als Consultant Arbeiten (Erfahrungen)
Gateway_man antwortete auf Gateway_man's Thema in IT-Arbeitswelt
Hi, vielen Dank für die Anregungen. Ja den Firmennamen würde ich nur ungern nennen. Aber das Unternehmen hat zwischen 200-300 Mitarbeiter. Es wurde mir gesagt das 20 Prozent Inhouse arbeiten. Mir wurden während des Gespräches einige Kunden aufgezählt (natürlich nur namenhafte xD , sollte ja imposant wirken). Dabei war unter anderem Siemens... Naja ich werd mir das nochmal ganz genau überlegen. Danke nochmals für die Hilfestellung. lg Gateway -
Berechnung von Rechecken auf Basis von Koordinaten-Vektor
Gateway_man antwortete auf Gateway_man's Thema in C++: Compiler, IDEs, APIs
Da ich es scheinbar nicht ordentlich rüberbringen kann hab ich mal ein Bild gemalt xD. Siehe Anhang. Nochmals. Es wird der Funktion ein vector mit Bildpunkten übergeben. Die alte Version hat aus diesen Bildpunkten ein Rechteck generiert das alle Bildpunkte beinhaltet. Jetzt schau dir das Bild an und du wirst die Problematik darin erkennen. Es geht darum, das große Bereiche in dem Recheck überflüssig sind da dort keine Bildpunkte liegen. Es sollen also nun statt einem Recheck mehrere Rechtecke gebildet werden um diese Problematik zu umgehen und auch nur die Bereiche zu erhalten in denen Bildpunkte liegen. Das schwarze Rechteck dient als Beispiel für die alte Funktion. Die Funktion nimmt dafür den obersten Punkt in der Linken oberen Ecke und den letzten Punkt in der rechten unteren Ecke. Die neue Funktion soll in dem Beispiel die roten Rechtecke berechnen und zurückgeben. lg Gateway -
Berechnung von Rechecken auf Basis von Koordinaten-Vektor
Gateway_man antwortete auf Gateway_man's Thema in C++: Compiler, IDEs, APIs
Gegeben ist zum einen ein Vector vom Typ Point und ein integer Wert welcher die Maximale Reichweite der Bildpunkte definiert. Die Point struktur besteht lediglich aus zwei Ganzahlwerten (X und Y). Das Ergebnis soll ein vector vom typ Rect sein. Die Rect Strukur verfügt über vier Ganzahlwerte (X,Y, Width und Heigth). Die Anforderung ist die ganzen Punkte zu sinvollen Rechtecken zusammenzufassen anstatt ein großes zu definieren. Denn wenn man das Rechteck aus den ganzen Punkten berechnet kann es sein das dabei auch ein großer Bereich im Rechteck erfasst wird der garnicht von Interesse ist. Dabei ist zu beachten das nur die Punkte die übergeben wurden von interesse sind. -
Guten Abend, ich sitze gerade an einer Performancekritischen Angelegenheit und könnte geistige Unterstützung benötigen . Es geht um folgendes: Ich habe eine Funktion der ein Vector mit Punten (Locations) übergeben wird. Der Rückgabewert soll ebenfalls ein vector sein nur das der mit Rect strukturen geüllt sein soll. Ein wichtiger Hinweis könnte sein, das die Punkte in keiner Form vorab sortiert wurden. Es gab schon vorher eine Lösung die aber recht simple gestrickt war und nur ein Rect zurückgab. Dabei wurde der kleinste X, größte X, kleinste Y und größte Y Wert ermittelt und daraus wurde dann das Rect gebildet. Das ist natürlich suboptimal sobald der vector nur wenige Punkte hat die aber weit auseinander liegen. Bsp.: Punkt A liegt bei 10/20 Punkt B liegt bei 1500/500 Punkt C liegt bei 1410/450 Die alte Funktion hätte jetzt ein Rectangle gebildet das wie folgt aussehen würde: Rectangle : X=10, Y=20, Width = 1480 , Heigth= 480 Da aber die Punkte die nicht angegeben wurden nicht interessant sind wurde der Vorschlag unterbreitet eine Funktion zu schreiben, welche multiple Rect zurückgibt um so den ganzen Overhead an Punkten Herr zu werden. Da das ganze aber recht performancekritisch ist fällt mir aktuell dazu noch kein adäquater. Die Möglichkeiten die mir eingefallen sind würden zu lange dauern da ich den vector sehr sehr oft durchiterieren müsste. Mein Ansatzpunkt war folgender: -Neben dem vector der die Punkte (Locations) übergibt müsste noch ein Wert übergeben werden, welcher die toleranzgrenze der Punktentfernungen defniert (Ab wann muss ein nuss ein neues Rechteck generiert werden?!) -Die nicht geordnete Liste müsste geordnet werden. Da bin ich mir jetzt nicht ganz sicher was besser wäre (nach X,Y oder beides). Das wäre mein Anfang. vector<Rect> CalculateRectangles(vector<Point> &data, int maxDistance) { vector<Rect> result; vector<Point> orderedVector; //Sortierungsschleife for (int i =0; i< data.size();i++){ //ToDo } //Duchiterieren des ordered Vectors und auf Basis der maxDistance die Rect Strukturen bilden. return result; } So jetzt zu meiner Frage. Wie würdet Ihr das angehen? Genauso oder völlig anders? Ich bin mir da nicht so ganz sicher. lg Gateway
-
Als Consultant Arbeiten (Erfahrungen)
Gateway_man antwortete auf Gateway_man's Thema in IT-Arbeitswelt
Es gibt die einen und die anderen Headhunter. Die die du beschrieben hast irgnoriere ich meistens. Aber es gibt auch noch jene die versuchen alles über die Person in Erfahrung zu bringen. Und eben diese lesen das Profil durchaus aufmerksam durch. Erst kürzlich hat sich einer bei mir per Handy gemeldet. Als ich ihm fragte wo er die Nummer her hat, sagte er er hätte über die Registrierung der Webseite meine Handynummer erhalten. (Ich besitze eine .eu Adresse bei der man bei der Registrierung auch eine Telefonnummer angeben muss). War zwar etwas strange von dem Headhunter aber das zeigt das Sie durchaus das Netz nach einem durchsuchen (und das sehr aufmerksam). lg Gateway -
Als Consultant Arbeiten (Erfahrungen)
Gateway_man antwortete auf Gateway_man's Thema in IT-Arbeitswelt
Ich habe erst vor vier Monaten bei der aktuellen Firma angeheuert und leider war das eine totale Fehlentscheidung. Ich hatte noch beim Bewerbungsgespräch nach den Technologien gefragt die eingesetzt werden und man versicherte mir das gewisse Techniken nicht eingesetzt werden. Als es dann dort losging wurden mir direkt Projekte übergeben in dennen genau diese Technologie eingesetzt wird. Das war für mich wie ein Schlag ins Gesicht. Und ich bekomm immer mehr Projekte übergeben, was ja eigentlich nicht so schlim wäre, wenn es nicht immer so grauenhafte Projekte wären. Die alten Hasen die es losgeworden sind werden sich die Hände reiben. Ich denke wenn ich das länger mache werde ich noch Wahnsinnig xD. Momentan muss ich mich echt in die Arbeit quälen und das ist natürlich nicht mein wünschenswertes Ziel gewesen. Ich finde das eh sehr skuril. In meinem Lebenslauf stehen die Gebiete auf die ich mich spezialisiert habe. Ich als Arbeitgeber würde mich dann erstmal Fragen: "Benötige ich einen solchen MA. Beziehungsweise brauchen wir jemand in genau diesem Spezialgebiet." Das war letztendlich eine große Enttäuschung..... Das ist eine hervorragender Vorschlag. Ich werde da einfach noch ein paar Informationen einholen. Soweit mir das erklärt wurde, werde ich beim kunden Vorort eingesetzt um dort Projekte zu realisieren. Das kann auch über einen längeren Zeitraum gehen (1 Jahr und mehr). Man sagte mir das ich dann in Hotels untergebracht werde und bei längeren Projekten auch ein Apartment bereitgestellt wird. @smite: Eher weniger ein Beratungshaus. Der Kunde wünscht sich eine Individualsoftware. Die Firma macht ein Angebot und wenn sich alle einig sind wird ein Entwickler-Team zum Kunde geschickt wo die Individualsoftware dann ensteht. So wurde mir das erklärt. lg Gateway PS: Das mit der oben genannten Problematik scheinen aber mehrer Leute nicht verstanden zu haben. Das find ich teilweise echt traurig. Beispielsweise hab ich in meinem Xing Profil stehn, das ich auf keinen Fall wieder in Java entwickeln möchte. In den letzten zwei Wochen haben sich zwei Headhunter über Xing gemeldet und mich gefragt ob ich nicht als Java Entwickler bei Firma XY anheuern möchte. *Facepalm* Gott wirf Hirn vom Himmel. -
Hallo leute, ich wollte mal so in die Runde fragen wer denn hier als Consultant in der Entwicklerbranche tätig ist. Was für ein Typ Mensch muss man sein damit einem das zusagt? Ich habe kürzlich ein Angebot erhalten als Consultant festangestellt bei einer größeren Firma anzufangen. Man sagte mir von anfang an das ich größten Teils bei den Kunden vorort sein werde. Würdet Ihr diese Strapazen mitmachen bei gleichem Gehalt? Aktuell bekomme ich ein Jahresgehalt von 42K (40K fix 2K variable). Und man hat durchleuchten lassen das das neue Angebot sich in dem selben Sektor bewegt. Mein problem ist, ich kann mir nur sehr schwer was unter Consultant vorstellen. lg Gateway
-
Hallo, ich muss aktuell bugfixes tätigen bei einer Anwendung die absoult unüberschaubare Dimensionen hat (350 dll's). Oft bekomme ich nur eine Beschreibung wie der Fehler in der Laufzeit zustande kam. Da mir das aber in dem meisten fällen nicht sagt in welcher der aberhunterten dll's nun letztendlich der Fehler produziert wird, ist das nicht sehr hilfreich. Ich suche nun eine Anwendung oder einen Weg, wie man die das ganze gut tracen könnte. Ich stelle mir das so vor: Ich klicke auf einen Button oder löse Mouse Events über die Oberfläche aus und das Tool sagt mir in welche dll und im besten Fall in welche Funktion er reinspringt. Also sowas ähnliches wie der Call Stack nur das ich eben nicht im Debugmodus bin und das ganze dann über eine externe Anwendung gelöst sein müsste die sich an den Prozess dranhängt. Die Anwendung und somit auch die ganzen Dll's sind in C# geschrieben. Gibts sowas? Habt ihr eine Idee wie ich mir das Leben leichter machen könnte? Ich sitzte Teilweise fünf Stunden vor der Kiste nur um die Stelle zu finden in der das entsprechende Event gehandled wird das den Fehler verursacht. Das ist irgendwie suboptimal. Solche Tracing Anwendungen hab ich an sich schon gefunden. Jedoch werden dort nur WinApi Call getraced. lg Gateway
-
Firewall blockiert Verbindung trotz definierter Regeln
Gateway_man antwortete auf Gateway_man's Thema in Windows
Sry hat ein wenig gedauert bis ich mich wieder melden konnte. Also das skurile an der Geschichte ist das im Log nur sporadisch die Einträge für die Verbindungen eingetragen wurden. Ich werde noch die zusätzlichen Tipps ausprobieren und dann werd ich nochmal das Timeout für den Server und für den Client höher setzten. lg Gateway -
Hallo leute, ich habe folgendes Problem. Auf meinem Server läuft eine Server-Anwendung von mir. Eine Verbindung von meinem Client-Pc geht hervorragend. Nur sobald ich einen Download vom Server mache blockiert die Firewall. Ich habe bereits eine Eingehende sowie eine Ausgehende Regel definiert. Das ganze hat aber nichts gebracht. Es muss aber scheinbar die Firewall sein, da der Download funktioniert sobald ich die Firewall komplett abschalte. Kann sich das einer erklären? Hier im Video sieht man ganz genau was passiert (youtube link). Ich kanns mir nicht ganz erklären und hoffe ihr habt nen Tipp. lg Gateway
-
Fehler in GA 2 !!! 2012
Gateway_man antwortete auf SYK-Aussenseiter's Thema in Prüfungsaufgaben und -lösungen
Tolles ding. Bei uns haben Sie es nicht durchgesagt und ich hab keine Steigerung für 2015 gerechnet. Für mich war das auch nicht komisch. Ich dachte mir das es durchaus möglich sein kann das Sie mit keiner Steigerung der Nutzung im dritten Jahr rechnen. Kann ja sein das die Nutzung des Service stagniert oder keine neuen User dazu kommen.... -
Du kannst es machen wie der Entwickler in dem diesem Beitrag. Must halt mit StringFormat die größe für die tabs selbst definieren. Das enstprechende StringFormat kannst du dann der DrawString Funktion übergeben. lg Gateway
-
Es gibt zwei Möglichkeiten. Die erste ist die gänigste und "leichteste" (haben wir in meinem vorherigen Betrieb auch so gemacht). Da es sich hierbei auch "nur" um einen drucker handelt bei dem die Treiber dabei sind musst du dich lediglich mit dem Druckprozess im .NET vertraut machen. Dafür gibt es bereits Klassen und Controls im .NET. Must nur eben die eingestellte größe beachten (ist ja etwas kleiner als herkömliche drucker ). Die zweite Möglichkeit ist etwas schwieriger und bei weitem nicht so allgemeingültig wie über die Druckerklassen. Die Teile die wir immer hatten wurden über usb angeschlossen. Das heißt du könntest diese per USB ansteuern und dir eine eigene Klasse zum Drucken schmieden. Allerdings ist das total Aufwendig und nervenaufreibend. Ich empfehle dir die ohnehin schon existierenden Druckerklassen zu studieren (die habens aber auch schon in sich). Ich persönlich finde das Drucken ist einer unliebsamsten Aufgaben für einen Entwickler, wobei das .NET das ganze schon enorm vereinfacht. lg Gateway
-
Hyper-V virtuellen Netzwerkadapter hinzufügen
Gateway_man antwortete auf Gateway_man's Thema in Windows
Hi Leute, hab es dann doch gewagt um festzustellen das das garnicht geht . (Nur eine Netzwerkkarte verfügbar). Letzendlich sollte es egal sein. Ich habe mir jetzt eine zweite Ip besorgt um einer Win2k8R2 VM eben diese zuzuweisen. Jetzt stellt sich herraus das der Anbieter einen MAC Adressen Filter benutzt. Ich habe daraufhin versucht in der VM die MAC Adresse über den Gerätemanager zu setzten. (also auf die gleiche MAC Adresse wie die der Netzwerkkarte). Laut Gerätemanager hat er es gemacht. laut "ipconfig /all" nicht. Auch nach einem Neustart war noch immer die alte MAC Adresse drin. Ich bin mir aber ziemlich sicher das einer von euch schonmal dem selben Problem gegenüberstand. Wie würdet Ihr das machen. Ich denke da gibt es einige Ansatzmöglichkeiten. Der Hostsystem ist ebenfalls ein Win2k8R2. lg Gateway PS: Wäre sehr schade wenns nicht ginge. Dann hätte ich mir gleich ne kleiner Kiste gemietet und nicht so ein Monster . -
Guten Morgen, ich will auf meinem Rootserver einen weiteren virtuellen Netzwerkadapter für Hyper-V hinzufügen. Als ich alles soweit eingestellt hatte und auf Übernehmen klickte kam die Meldung das während der Einrichtung die Netzwerkverbindung verloren gehn könnte. Und das ich gegebenfalls nochmal Interagieren muss damit diese wieder Verfügbar ist. Ich habe abgebrochen und mich nicht getraut auf weiter zu klicken . Das Ding ist, ich komm ja nür über Netzwerk drauf und wenn das Ausfällt sind meine Möglichkeiten gleich null. Hat jemand bereits etwas dergleichen gemacht oder kennt einen Weg wie ich das Risiko minimieren beziehungsweise gänzlich eliminieren kann. (beispielsweise ein script schreiben das unbeaufsichtigt das ganze erledigt) lg Gateway
-
Beste freie IDE für C++(wxDev-C++,CodeBlocks,Codelite)
Gateway_man antwortete auf spellsleeper's Thema in C++: Compiler, IDEs, APIs
Hi, wenn es auch was exotischeres sein darf und es nicht zwangsläufig opensource sein muss sondern nur kostenlos, dann kann ich dir den Qt Creator empfehlen. Ich teste den aktuell auch grad aus und bin bis jetzt eigentlich recht zufrieden. Mit dem Teil kannst du neben Windows Programmen auch Linux und Mac OSX Programme schreiben. lg Gateway -
[C#] Benötige Hilfe bei Invoke Funktionssignatur
Gateway_man antwortete auf Gateway_man's Thema in .NET
Hat sich erledigt. Es war so wie ich es vermutete. -
Hallo, ich bin mir nicht ganz sicher wie die Signatur in C# aussehen muss für folgende Cpp Funktion: #define _extern extern "C" __declspec(dllexport) _extern bool ExtractChangedRectangleExt(HBITMAP hbmp, HBITMAP hbmp1, int min, int max, ImageCompareResult &result); Die ImageCompareResult sieht wie folgt aus: struct ImageCompareResult{ public: int x; int y; HBITMAP changedArea; int success; double percent; int error; }; Müsste ich das dann in C# so machen: [StructLayout(LayoutKind.Sequential)] public struct ImageCompareResult { public int x; public int y; public IntPtr changedArea; public int success; public double percent; public int error; }; [DllImport("mydll.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)] private static extern bool ExtractChangedRectangleExt(IntPtr hbmp, IntPtr hbmp1, int min, int max, ref ImageCompareResult result); lg Gateway
-
[Cpp] Speicherüberlauf (Vermutlich irgendwelche leaks)
Gateway_man antwortete auf Gateway_man's Thema in C++: Compiler, IDEs, APIs
Hi, ich hab es jetzt auf zwei Wegen versucht. Zum einen habe ich versucht das "newBitmap" per delete zu zerstören. Das hat den Leak nicht verhindert. Letztendlich hab ich fast alles geändert was du bemängelt hast und siehe da es funktioniert. Die entsprechenden Konstrukte sehen jetzt wie folgt aus: #include "StdAfx.h" #include "GdiCore.h" GdiCore::GdiCore(HBITMAP input) { GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); palette = new HPALETTE(); bmp = new Bitmap(input, *palette); } GdiCore::~GdiCore(void) { //DeleteObject(bmp); delete palette; delete bmp; GdiplusShutdown(gdiplusToken); } HBITMAP GdiCore::Resize(int width, int height){ HBITMAP result = NULL; UINT o_height = bmp->GetHeight(); UINT o_width = bmp->GetWidth(); int n_width = width; int n_height = height; double ratio = ((double)o_width) / ((double)o_height); if (o_width > o_height) { n_height = static_cast<int>(((double)n_width) / ratio); } else { n_width = static_cast<int>(n_height * ratio); } //Bitmap* newBitmap = new Bitmap(n_width, n_height, bmp->GetPixelFormat()); Bitmap newBitmap(n_width, n_height, bmp->GetPixelFormat()); Graphics graphics(&newBitmap); graphics.DrawImage(bmp, 0, 0, n_width, n_height); newBitmap.GetHBITMAP(NULL,&result); //DeleteObject(newBitmap); //delete newBitmap; return result; } Ich bin begeistert. Vielen Dank Klotzkopp. Du warst wie immer eine enorme Hilfe :valen. lg Gateway