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 user8744
Thema: .NET, Windows, JavaScript
Am im Forum: Wünsche und Kritik

2 Dinge sind obligatorisch:

Sterben und aufs Klo gehen ;) Der Rest ist optional und ich muss mit garnichts leben. (Das hat mich mein grosses Vorbild Klaus Baader von der RAF gelehrt)

Ich verabschiede mich an der Stelle und wünsche dem Moderatoren Team alles gute. Auch wenn die Meinungen verschieden waren/sind habe ich den Sachverstand speziell von Gü, Sparky, Abt, FZelle und herbi immer sehr zu schätzen gewusst. *thumbs up*

(BTW: Den Vorwurf sich nicht weiter entwickeln zu wollen, höre ich immer wieder mal, allerdings hat diesen Vorwurf noch keiner aufrecht erhalten der schon mal projekt-weise mit mir zusammen gearbeitet hat. Hier geht es nicht um Details-um die wir Entwickler uns kümmern-sondern ums Prinzip)

Thema: .NET, Windows, JavaScript
Am im Forum: Wünsche und Kritik

Ich möchte die Basta Werbung auf der Hauptseite insofern monieren das sie Java Script(das sich scheinbar irgendein unter Drogen stehender Entwickler in den 90ern ausgedacht hat) im Titel anführt und damit der Zentrierung von MyCSharp.de auf die Sprache C# entgegen steht. Ich bin schon der Meinung das man sich Microsoft hier nicht gefällig machen(das einfach nur auf das Software-As-A-Service Modell umschwenkt und da kommt js gerade recht) muss und andere Meinungen erlaubt sein müssen und wenn es nur darum geht diese zu Protokoll zu geben. Nichts gegen eine Ankündigung der nächsten Basta, aber ideologische Werbung im Logo gehört gefiltert. Ich erwarte natürlich nicht das dass Team meinem Hinweis folgt, aber zumindest meine öffentliche Gegenmeinung stehen lässt.

Thema: DataTable unglaublich langsam
Am im Forum: Datentechnologien

Ich will mich in die eigentliche Debatte eigentlich garnicht einmischen aber mir ist aufgefallen das du scheinbar Linq Queries über ein Excel WorkSheet anwendest und damit auch implizit irgendwie COM Interop nutzt( es sei denn du verwendest spezielle Open-XML Wrapper). Für mich erklärt sich der Performance Drop dadurch das du Linq über COM anwendest und das funktioniert ungepatcht einfach nicht bei einer Grössenordnung von 100.000. COM Aufrufe sind dafür viel zu teuer aus der Performance Sicht.

Excel bietet viele Funktionen an um Zellen nach Kriterien zu filtern.
Anders gesagt: Jeder Aufruf zu Excel via Interop aus .NET kostet nur für die Verwaltung wenigstens 100 Millisekunden. Excel selbst kann kann interne Berechnungen für Millionen Zellen unter 1 viertel Millisekunde durchführen.

So oder so die DataTable ist für dein Performance Problem nicht verantwortlich, so glaube ich. Reduziere deine Excel Aufrufe. (Du kannst ja mal hochrechnen was eine Linq Query auf 100.000 Zellen Einzelaufruf mal 100-500 millisekunden-Verwaltungsaufwand pro Abruf der der Methode oder Property) so alles anrichtet. Excel bietet Methoden an die das intern mit nur einem Aufruf lösen und das in ein paar Nanosekunden.

Wenn du mit Excel dealst dann musst du verstehen das Excel zu COM gehört und das funktioniert - in sich selbst - anders(viel effiezienter) als .NET. Aufgrund deines MVC4 Hinweisesgehe ich davon aus das du hier vermutlich aus einer Server Anwendung agierst die Reports generiert. Dazu bräuchtest du ab Excel 2007 keine Office Automatisierung sondern nur ein paar XML Kentnisse, da ab hier das Dateiformat offen ist.

Thema: TCPChannel - Mehrere Ports gleichzeitig verwalten
Am im Forum: Netzwerktechnologien

Du kannst die Low-Level Details von Remoting auch einfach umgehen indem du ein Framework verwendest das den Job für dich übernimmt.
Dafür bietet sich das Remoting Framework Zyan mehr als an.

Zyan Communication Framework

Zyan on Codeplex

(Lass dich von dem Schwerpunkt auf EBC nicht verunsichern, das ist Top-Of aber kein Must-Have)

Thema: Inner Join killt Performance
Am im Forum: Datentechnologien

Du kannst dir im Query Analyzer anschauen welche Strategie vom Pre-Processor angwendet wird. Ich hatte solche Fälle auch schon wo selbst Kleinigkeiten dazu ausreichen das der SQL Server seine Strategie ändert und die Performance auf einmal dropt. Im einfachsten Fall einfach den Query Analyzer Code abändern und "at Hand" ausführen oder die Datenstrukuren anpassen.

Thema: Sehr hohe CPU-Auslastung bei Multi-Threading
Am im Forum: Rund um die Programmierung

Zitat
while(true) macht man heute nicht mehr; das erzeugt nur unnötigen CPU verbrauch.

Da hat unser Abt schon mal recht. Eine while Schleife ist eine while Schleife ist eine while Schleife. Ob die jetzt was tut oder nicht ist völlig egal. Die versucht aus dem System immer das maximale rauszuholen. Der Versuch das mit Sleep im Body der Schleife auszugleichen ist meiner Sicht nur dann hilfreich wenn der Sleep Intervall im mehrstelligen Sekundenbereich liegt. Wenn das System kürzerer Reaktionszeiten garantieren soll dann ist Sleep niemals das Mittel der Wahl.
Zitat
In der update-Funktion läuft derzeit eine while(true)-Schleife. Die Zeit bis zum nächsten Abruf habe ich schon auf verschiedene Arten versucht zu überbrücken

Warum??? Dafür bieten sich delegates an. Gib einen Methodenzeiger rein und lass dich zurück rufen. (Evtl musst du dann hier synchronisieren was sich im einfachsten Fall durch ein lock Statement realiseren lassen würde)

Thema: [Gelöst] Excel 2013: Hook wird nicht aufgerufen
Am im Forum: Office-Technologien

Das dein Hook niemals aufgerufen wird, selbst wenn Excel sich für die gewünschte Tastenkombination nicht interessiert, verblüfft mich jetzt doch ein wenig. Das darf eigentlich nicht sein. Ich weiss natürlich nicht was du an Kombinationen getestet hast und ob Excel sich dafür vielleicht doch zuständig fühlte.

BTW: Die Win32 API hat eine Funktionalität zum einfangen eines systemweiten Hotkeys bereits eingebaut. Eine Beispiel-Implementierung findest auf MyCsharp.de hier: Hotkey-Klasse
Ich würde diesen alternativen Ansatz mal versuchen. Lässt sich auch relativ schnell einbinden und testen.

Ein Security Issue schliesse ich aus weil du ja sagst das dein Hook auch unter Win7/XL2013 greift solange Excel eben nicht den Fokus hat.

Thema: [Gelöst] Excel 2013: Hook wird nicht aufgerufen
Am im Forum: Office-Technologien

Mir fehlt gerade im Moment leider die Zeit um das Szenario unter Excel 2013, zu untersuchen ich habs aber auf meine Todo-Liste gesetzt.

Es scheint so das Excel 2013 die Tastatur Ereignisse einkassiert(also nicht weiter reicht wie du es mit CallNextHooEx ja richtiger Weiste tuhst)
Das passiert allerdings nur wenn Excel den Fokus hat, ansonsten interessiert sich Excel dafür -sinnvoller Weise- nicht.(Das schliesse ich aus deiner Beschreibung das Key Events in Fremdprogrammen zum gewünschten Ergebniss führen weil Excel ja nicht den Fokus hat und dann den Hook brav weiter reicht)

Ich persönlich würde jetzt so vorgehen mir Tastenkombinationen zu suchen die Excel nicht rausfiltert oder eine Implementierung via IMessageFilter verwenden. Das Konzept hierbei ist ein etwas anderes, du gehst nicht mehr direkt zum OS und setzt einen Hook sondern die Hauptnachrichtenschleife(DefWndProc) der HostAnwendung wird den Tastendruck dann an dich weiter reichen weil du dich hier dafür registriert hat. (Das Excel den Tastendruck danach nicht mehr ans System weiter reicht kann dir dann egal sein) Vor- oder Nachteil, je wie man es sieht: Der Tastendruck kommt dann nur noch an wenn Excel die derzeit fokusierte Anwendung ist.

Thema: Mein Ausscheiden aus dem myCSharp.de-Team
Am im Forum: Ankündigungen

Ich will hier mal den ewigen Danke-Und-So Zirkus etwas unterbrechen und etwas persönlicher werden. Nach nun mehr 10 Jahren bei MyCSharp.de nehme ich mir das recht jetzt einfach mal raus.

Hey herbie, deine recht stur-technokratische Art und Weise ging mir das ein oder andere mal gehörig auf den Zeiger. Manchmal hast du es da aus meiner Sicht auch ein wenig übertrieben. Was ich an dir sehr respektiere ist!(keine Vergangenheitsform) das du immer das Thema in den Vordergrund stellst und nicht so sehr die persönliche Ansicht darüber, andere Meinungen sind nicht automatisch falsch - jeder wie er mag und Diskussion schliesst ein das der andere vielleicht recht hat. (Das zu abstrahieren ist einer Charaktereigenschaft die nicht jeder hat und das habe ich an dir-zumindest als Moderator auf MyCharp.de sehr gemocht - Neutralität und Fairness - auch wenn du manchmal hier vielleicht etwas schnell beim löschen/editieren von Einträgen warst ohne zu erklären warum und wieso)

"Man verdirbt den Jüngling am ehesten indem man ihn lehrt den gleichdenkenden eher zu achten als den anders denkenden."
- Friedrich Nietzsche

Thema: [Gelöst] Excel 2013: Hook wird nicht aufgerufen
Am im Forum: Office-Technologien

Wie hast du den diesen Hook technisch realisiert? (MessageFilter, Global Hook oder direkt beim Keyboard vorbei geschaut?) Die Antwort dazu ist je nachdem eine andere.


Zusatzfrage: XL 2010 und XL 2013 laufen auf der gleichen OS Version ?
(Sonstige Fremdprogramme bitte hier immer schliessen. Hooks unter Windows verhalten sich kooperativ in einer Verarbeitungskette, d.h. sie verarbeiten und reichen danach weiter, wenn sie nix weiterreichen kriegen alle danach nix mehr mit. Evtl. ist die Tastenkombination von XL 2013 vorbelegt, das liesse sich leicht rauskriegen wenn du Excel den Fokus wegnimmst(gilt nicht für den Hook über MessageFilter))

Thema: Tcp File Starten
Am im Forum: Netzwerktechnologien

Zitat
Oder hat jemand ein Stück Code, der stabil läuft?

Das Scs Tcp Framework ist nach meiner Ansicht nahezu perfekt. Könnte man kaum besser machen.

A Complete TCP Server/Client Communication and RMI Framework - Usage

Thema: Programm darf nur n Mal Starten in n Stunden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Unterm Strich benötigst du hier ein Systemwide-Singleton also ein nichts anderes als ein Singleton das nicht nur für die AppDomain gültig ist sondern für die gesamte Workstation. Der Rest ist Handarbeit(Anwendung prüft auf RunningIsLegal) Dafür bietet sich entweder die ROT(COM Running Object Table) oder IPC basiertes Remoting an. Beides hat den Nachteil das es nur im UserContext unterwegs ist. Ein Singleton unter "Run As Admin" wäre für ein Program mit niederen Rechten unerreichbar(vice versa). Das liesse sich mit einem netzwerkbasierten Remoting Protokoll über 127.0.01 allerdings umgehen.

(Es gäbe noch weitere Implementierungsmöglichkeiten wie Shared Memory oder Named Pipes, wie du das realisierst obliegt deiner Entscheidung. Vom Design-Aspekt her wäre besagter systemwide-Singleton aber sicher die sauberste Lösung. Jede gute Suchmaschine wird bei "C# systemwide Singleton" ein gutes Tutorial abliefern. )

Thema: Was haltet ihr von Wearables?
Am im Forum: Smalltalk

An und für sich sind Wearables eine tolle Sache - rein von der Idee her.
Ein Pauschalurteil für diese Geräteklasse abzugeben würde ich mir aber persönlich nicht erlauben. Wie bei allem anderen auch, gibt es viel nutzlosen Schrott aber eben auch ernstgemeinte Angebote - im Moment steckt diese Geräteklasse allerdings noch in den Kinderschuhen. Die Akku Kapazitäten und die Memory/Prozessor/OLED Leistung für diese Micro-Devices ist im Moment aus meiner Sicht noch nicht wirklich ausreichend (bzw. einfach noch zu teuer zu produzieren) Das wird sich aber auf absehbare Zeit sicherlich ändern. Als Konsument würde ich mich derzeit zurücklehnen und diesen Trend aufmerksam beobachten. Als Entwickler wüsste ich derzeit garnicht was ich tun sollte, es gibt keinen gemeinsamen Standard in diesem Bereich, dafür ist es einfach noch zu früh.

Im Moment werden Wearables ja vor allem im Sportbereich über Körpermessungen, etc. vermarktet. Heise.de hat vor einiger Zeit diesbezüglich mal einen gründlichen Labortest für Fitness-Uhren unternommen. Dabei stellte sich raus das kein einziges Produkt mehr funktioniert wenn man seine persönlichen Daten nicht an den Hersteller schickt. Für mich ist das ein KO Kriterium. Es wird sicher noch viel Zeit brauchen bis die Wearable Branche erwachsen geworden ist und nicht mehr so plump versucht Daten abzugreifen. Ich würde mir persönlich kein Wearable zulegen das offline nicht oder nur noch auf die Grundfunktionen beschränkt nutzbar ist.

Thema: Was ist los mit Codeplex?
Am im Forum: Smalltalk

[offtopic]
Kleiner Hinweis: Die Discussion/Issue Boards funktionieren seid ein paar Tagen auch nicht mehr. (Zumindest bei meinen Projekten scheitert das anlegen oder beantworten eines Topics. Hab mich schon gewundert warum ich auf einmal soviele Mails bekomme) Ich würde nicht darauf wetten das dass auf die Schnelle gefixt wird.
[/offtopic]

Thema: Klassen im Designer laden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Das Problem ist eigentlich nicht die externe Library, sondern das dass Reflection API nun mal nur zur Laufzeit sinnvoll anwendbar ist.

Wenn ich dich richtig verstehe hat die UserControl Basisklasse eine String Eigenschaft für die ein fester AuswahlDialog angeboten wird der eine bestimmte Auswahl an Klassen im Projekt anzeigen soll. (Über UIEditor und/oder StringValueConverter) Wenn du das zur Designzeit mit der ausgelagerten Library verbinden willst musst du deine Strategie ändern. Die Library reflektiert nicht mehr über das EntryAssembly sondern bekommt alle nötigen Informationen reingereicht. Damit kannst du in deiner UserControl Basisklasse die nötigen Informationen besser einsammeln und an die Library durchreichen. Idealerweise on-demand durch den Editor/Converter. Da der Designer nur eine Instanz der Basisklasse erstellt wird dir GetType() hier allerdings nicht helfen. Du kannst Visual Studio mittels spezieller Attribute soweit instruieren das es sich bestimmte Klassen in der Solution merkt und dir dann diese wieder zurück holen. (So macht es Microsoft selbst auch) Das klappt allerdings nur wenn die Klassen du die in der Auswahl anzeigen willst von einer bestimmten Basisklasse erben die du darauf vorbereitet hast. Für ein Nice-To-Have Feature aber sicher zuviel Aufwand.

Thema: Nuget=>Reference Assemblies von Hand ersetzen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich habe einem Entwickler eine Satz aktualisierter Assemblies mit höherer Version zugeschickt. (Es handelt sich dabei um ein Open Source Projekt von mir) Die ursprünglichen Assemblies hat der Entwickler über Nuget bezogen. Der Entwickler hat die Assemblies von Hand ersetzt und bekommt bei der Ausführung eines Unit-Tests(Microsoft.VisualStudio.TestTools.UnitTesting) nun folgenen Fehler.

Fehler
COMObject.cs not found

Locating source for 'c:\Source\NetOffice\COMObject.cs'. Checksum: MD5 {58 68 21 2 28 51 95 23 82 f5 2d 1d 4e 8a b2 51}
The file 'c:\Source\NetOffice\COMObject.cs' does not exist.
Looking in script documents for 'c:\Source\NetOffice\COMObject.cs'...
Looking in the projects for 'c:\Source\NetOffice\COMObject.cs'.
The file was not found in a project.
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\crt\src\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\crt\src\vccorlib\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\src\mfc\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\src\atl\'...
Looking in directory 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include'...
The debug source files settings for the active solution indicate that the debugger will not ask the user to find the file: c:\Source\NetOffice\COMObject.cs.
The debugger could not locate the source file 'c:\Source\NetOffice\COMObject.cs'.

Da ich Nuget nicht verwende(obwohl Scott Hanselman selbst im Discussion Board des Projekts interveniert hat) und von Unit-Tests schändlicherweise nur selten Gebrauch mache (bzw. sie beruflich nicht selbst schreibe da dies ausgelagert ist) bin ich etwas ratlos. Der Fehler kommt scheinbar vom Testing Framework das vermutlich immer noch mit den alten .pdb's arbeitet bzw. nach der alten Version sucht. Besagter Entwickler kann mit diesem Hinweis aber scheinbar nichts anfangen.

Hat jemand einen Hinweis warum es zu diesem Fehler kommt bzw. ob ich mit meiner Theorie richtig liege?

Thema: Humor: Java Programmierer ... und andere lustige Sachen
Am im Forum: Smalltalk

Ich hab gerade die Product-Code Guid von PowerPoint 2007 im Debugger gesehen und dachte im ersten Moment, ich bin wohl schon wieder viel zu lange wach. Man achte auf das Ende.

{90120000-0030-0000-0000-0000000FF1CE}

Muss man erstmal drauf kommen ;)

Thema: Shell32 einbinden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Die Referenz auf die Shell solltest du eigentlich nicht mehr brauchen,
Wenns ohne nicht geht, stecken noch Early-Bind Abhängigkeiten in der Lösung.

Thema: Shell32 einbinden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Der COM Wrapper(ComObject) ist nicht darauf vorbereitet das man ComObject direkt als Argument an eine Methode übergibst.
Er reicht das Argument 1:1 weiter und die Shell kennt ComObject natürlicht nicht. (Das kein TypeMismatch ausgelöst wird ist allerdings merkwürdig)

Der einfachste Weg wäre das private Feld "_realComObject" von ComObject hier mittels eines Properties "RealComObject" freizulegen und den Aufruf anzupassen. Also:

Zitat
TempFolder.InvokeFunction("CopyHere", FolderItems.RealComObject);

Ginge natürlich noch schöner in dem man in die Invoke Methoden von ComObject auf die Verwendung von Arg=>ComObject vorbereitet.

Thema: Shell32 einbinden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Typischerweise über späte Bindung.

Type shellType = Type.GetTypeFromProgID("Shell.Application")
object shell = Activator.CreateInstance(shellType);
// usw...

Du gibt damit etwas Comfort ab, das ist aber bei nur 1 oder 2 genutzen Methoden/Eigenschaften mit einer eigenen Wrapper Klasse schnell gelöst.

Evtl. interessant für dich in dem Zusammenhang:
Allgemeiner COM-Wrapper für Späte Bindung

Thema: Double-Wert aus Excel
Am im Forum: Grundlagen von C#

Wie bereits angedeutet ist Range.Value kein String den double.TryParse als erstes Argument erwartet. Die Fehlermeldung ist da eigentlich recht deutlich, kann aber verwirrend sein wenn man aus VB/VBA kommt wo implizite Typenkonvertierung(besonders auf String) zum Service gehört.

Die bereits vorgeschlagenen Lösungen würde ich so nicht ganz unterschreiben, obwohl sie natürlich in die richtige Richtung gehen.

Range.Value kann immer auch null sein daher ist ToString() oder GetType() nicht eben ideal.

Besser wäre:


if(range.Value is double)
{

}

Wenn der Wert keine Nachkommastellen hat, kann es dazu kommen das der Wert als Int32 bei dir ankommt.

Aber irgendwie habe ich den Eindruck das du den Wert immer als String willst und einfach nur ToString() nicht kennst ;) In dem Fall kann dir der Ursprungstyp egal sein(wenn du keinen Wert auf eine bestimmte formatierte Anzeige legst)

Thema: [ERLEDIGT] Unmanaged .DLL import - Deployproblem
Am im Forum: Rund um die Programmierung

Zwischenfrage: Hat dein CLR struct inzwischen ein sequenzielles Speicherlayout sowie es unmanaged der Fall ist? (Die Frage nach dem Bit Matching also ob Test und Deploy System jeweils beide 32/64 Bit sind oder sich unterscheiden hast du übrigens unterschlagen)

Das mit der Fehlerbehandlung auf irgendwie später zu verschieben war aus meiner Sicht nicht die beste Idee. Bevor wir hier zusammen weiter rumrätseln wäre es schon hilfreich zu wissen ob sich um einen Security Fehler handelt, Access Violation oder BadImageFormat(möglicherweise durch die Intel Compilierung, muss ja nen Grund haben das er diese Abhängigkeit bereits in in Visual Studio moniert) Funktionieren denn andere Aufrufe a la Hello World() auf dem Issue System problemlos?

Kümmer dich um die Fehlerbehandlung, um rauszukriegen woran es wirklich hängt. Wenn dir der Fehler selbst nix sagt ist das kein Beinbruch, dafür hats ja ne C# Community. Du ersparst dir selbst unter Umständen viel Zeit bevor du in die falsche Richtung rennst.

Thema: [ERLEDIGT] Unmanaged .DLL import - Deployproblem
Am im Forum: Rund um die Programmierung

Hmm, du willst den Pointer auf das float Array kopieren. Auf die Idee bin ich noch nie gekommen. (Dir ist schon klar das der unmanaged Zeiger auf das float Array aber kein float ist sondern sizeof(byte) oder? Weisst du das CLR float* und float* kompatibel sind?)

In dem Fall würde ich doch auf den Custom Marshaler setzen, dann bleibst du sogar safe :)

Thema: [ERLEDIGT] Unmanaged .DLL import - Deployproblem
Am im Forum: Rund um die Programmierung

Aus Interesse habe ich nochmal geschaut:

Marshaling Simple Types

Für unmanaged float ist der korrespondierende CLR type System.Double. (float ist ja ein typedef für System.Single) Wie schon erwähnt könnte es am Debugger liegen das es bei dir funktioniert bzw. ich kenne auch den Fall wo es dann mal funktioniert und dann wieder nicht. (EDIT: Hat sich durch deine Antwort das es im Release auf deinem Rechner auch geht erledigt)

Nochmal bezüglich des "Abschmierens" was als Fehlerbeschreibung nicht wirklich optimal ist: Ich kann nicht sagen ob das unsafe anders läuft aber aber wenn im umanaged Bereich von PtrToStructure ein Fehler auftritt passiert das vereinfacht gesagt nicht im aufrufenden Thread was den obligatorischen try/catch Block um deinen Aufruf aushebelt. Ich weiss nicht welche Art von Lösung du hast aber in einer WindowsForms Anwendung würde die Exception in der Program.cs bei Application.Run(...) landen.


(Noch ein Edit: Arrays kann man "marscheln", ist aber nicht in 2 Aufrufen erledigt. Microsoft bietet einige vordefinierte Custom Marshaler für Arrays in einem extra Assembly an aber die sind zum weglaufen langsam. Wenns anders geht, sollte man es auch anders machen)

Thema: [ERLEDIGT] Unmanaged .DLL import - Deployproblem
Am im Forum: Rund um die Programmierung

Paar Betriebssysteminfos (Test und Deploay) wären hilfreich, angefangen bei 32/64 Bit. Abschmieren heisst keine Exception sondern TILT ?

Und verpass deinem Struct mittels Attribute auf jeden Fall ein sequenzielles Speicherlayout.

StructLayoutAttribute

Nachtrag: Der Grund für die Verwendung von unsafe erschliesst sich hier für mich nicht und ich habe auch keine Erfahrung damit aber PtrToStructure führt gewöhnlicher Weise auch bei fehlerhafter Verwendung nicht zum Totalabsturz, zumindest im safe mode.

Hat es vielleicht nicht so sehr was mit Test/Deploy System zu tun sondern eher mit Debug/Release?

Thema: Windows Forms Anwendung zeigt bestimmte Inhalte beim Testen nicht an!
Am im Forum: GUI: Windows-Forms

Ich weiss leider nicht über welche Fähigkeiten VS2013 Express verfügt, aber wenn möglich, überprüf mal dein Build Profil ob Debug und Release(typischer Weise) aktiviert ist(Häkchen).

Wenn auch VS2013 Express in der Oberfläche auf den Debug Build beschränkt ist, hast du das Projekt vielleicht von jemandem mit VS Pro (oder höher) übernommen der die aktive Konfiguration auf Release eingestellt hat. (Ist nur ne Theorie...)

Thema: Was ist los mit Codeplex?
Am im Forum: Smalltalk

Ja klar, es ist ja nicht so das es keine ernstzunehmenden Contributoren mehr gibt. Wobei sich das schnell relativiert wenn man die kommerziellen Angebote und die welche bei Codeplex nur die Project Page pflegen und ab und an mal den Code von Github spiegeln rausrechnet.

Nur hat die Codeplex Besatzung das Schiff offensichtlich verlassen.

Der letzte Lebenszeichen von Codeplex - over 2 years ago.

Thema: Was ist los mit Codeplex?
Am im Forum: Smalltalk

Man muss sich bei Codeplex nicht anmelden für irgendeinen Download.
Weder für Source-States noch für Release Packages. Das einzig nervige ist das man JavaScript(also die Pest) erlauben muss.

Thema: Was ist los mit Codeplex?
Am im Forum: Smalltalk

Also Contributor und Developer verschiedener Open-Source Projekte auf Codeplex beobachte ich seit längerer Zeit das Codeplex offensichtlich keine(n) Maintainer mehr hat.

Früher gab es jede Woche aktuelle Blog Posts vom Codeplex Manager Mark Grooves. Jedoch ist das mehr als 2 Jahre her. Seitdem kein Lebenszeichen mehr, auch im Issue Board keinerlei Response mehr seit mehr als 2 Jahren. Bei meiner Recherche dazu kam raus das Mark Grooves und weitere Codeplex Mitarbeiter seit diesem Zeitpunkt nicht mal mehr bei Microsoft arbeiten.

Der obligatorische Spam wird nicht mehr gelöscht, die Projekt-Statistiken funktionieren nicht mehr, die E-Mail Notifications sind so ne Glückssache.

Inzwischen wird alles mögliche bei Codeplex gehostet, Mp3's, pdf's und wahrscheinlich auch die Urlaubsbilder vom letzten Sommer, interessiert irgendwie keinen mehr. Die kommerziellen Anbieter haben das zuerst entdeckt und benutzen Codeplex als Werbefläche für ihre Angebote. Seit einiger Zeit haben das nun auch die Scamer gemerkt und Accounts mit hunderten sinnlosen Dumy Projects mit Links zu Viagra Shops explodieren gerade. Codeplex als Linkfarm.

Microsoft selbst hat früher seinen Code auch noch auf Codeplex veröffentlicht, bevorzugt aber inzwischen scheinbar auch lieber Github.

Was soll man davon halten? Aus meiner Sicht ist Codeplex mehr oder weniger tot und vielleicht ist es besser die Platform zu wechseln bevor Microsoft hier Fakten schafft. (Schade, die Landing Pages bei Codeplex sind weit besser als bei der Konkurrenz)

Thema: BackgroundImage + BackgroundImageLayout = Stottern des Programms
Am im Forum: Grafik und Sound

Flickern tritt durch sehr kurze Invalidate Intervalle auf also wenn das ContainerControl permanent neugezeichnet wird. Ich gehe mal davon aus da liegen noch Controls auf der Form die entweder (timerbasiert) bewegt werden oder von sich aus ein permanentes neuzeichnen auslösen.

Mittels "C# Flicker Free BackgroundImage" und einer sogenannten Suchmaschine(eine Erfindung aus Amerika) findet man jede Menge Lösungen auf dem Silbertablett serviert.

Sowas zum Beispiel:

Dont Flicker ! Double Buffer !