Laden...

Forenbeiträge von Sera Ingesamt 285 Beiträge

08.05.2008 - 11:56 Uhr

Nach dem Start der App im Debugmodus versucht applikationsname.vshost.exe auf das Internet zuzugreifen.

Die IP's gehören Unternehmen wie AOL, Doubleclick u.a.

Es nervt gewaltig und verlangsamt die Ausführung beider IDE's. Schaltet man die FW ab, läuft alles wie geschmiert.

Was hat meine App mit diesen Unternehmen zu tun? Warum wählt sich vshost ins Internet ein? Und gibt es eine Möglichkeit dieses Verhalten zu unterbinden?

30.04.2008 - 17:35 Uhr

Hi,

funktioniert nicht. Hab ich schon alles probiert. Ersetze ich nach deinem Vorschlag hat es keine Auswirkung auf das Ergebnis.

30.04.2008 - 17:13 Uhr

verwendetes Datenbanksystem: <SQL Server 2005>

Ich versuche ein LIKE Keyword für CountryDescription einzubauen ohne Erfolg:


ALTER PROCEDURE [dbo].[spSelectCountries]
(
	@CountryID int,
    @CountryDescription nvarchar(5)
)
AS
	SET NOCOUNT ON;
SELECT     CountryID, CountryDescription
FROM         Countries
WHERE (CountryID = ISNULL(@CountryID, CountryID)) AND
      (CountryDescription = ISNULL(@CountryDescription, CountryDescription)

Wie ist das am Besten zu bewerkstelligen?

09.04.2008 - 23:40 Uhr
        public static List<Titel> GetTitel()
        {
            [B]_dt.Clear();[/B]
            IDataRow idr = new Titel();
            DataObject.GetValue(ref _dt, idr);
            return DataTabelToList();
        }

Wofür löscht du die DataTable, wenn du diese sowieso als Parameter darauffolgend übergibtst?

09.04.2008 - 15:29 Uhr

Letzteres trifft zu! Aber das lässt sich doch nicht umgehen, oder? Ich brauch doch den Eventhandler.

Im Beispiel schliesst der OK Button die Form. In meiner überschriebenen (override) Methode kommt eine Messagebox, die halt 2x zum Bestätigen ist.

09.04.2008 - 13:59 Uhr

Ich beziehe mich auf ein Tutorial von dieser Seite:

Link

In der abgeleiteten Klasse überschreibe ich die Methode des "OK" Buttons. Nur wenn ich diesen klicke wird die Methode 2x aufgerufen. Wie kann man das verhindern bzw. was ist falsch an diesem Tutorial?

09.04.2008 - 13:36 Uhr

Wie schon Cougar dir mitgeteilt hat und auch ich immer noch im Dunkeln tappe, ohne Code kommen wir nicht weiter. Der halbwegs beschriebene Pseudocode ist zwar richtig (das Löschen der Items fehlt noch) aber ohne Code kommen wir nicht weiter.

Combobox hat übrigens eine Datasource als Property, die gegen ein DataTable gebunden werden kann.

EDIT: Wofür willst du eigentlich ein ganzes Row Objekt in die Combobox listen? Lade den Primary Key und eine bezeichnende Column zur Anzeige. Bei der Auswahl kannst du dann die restlichen Columns erneut lesen.

07.04.2008 - 12:19 Uhr

verwendetes Datenbanksystem: <SQL Server 2005>

Meine DB besteht aus mehreren Stammdatentabellen und einer Tabelle "Bestellung", welche in Beziehung mit allen Stammdatentabs ist.

Ein neuer Kunde kann entweder über einer Stammdatenmaske eingegeben werden oder direkt bei der Bestellung. Letzteres ist das Problem.

In der Stammdatenmaske gibt es einen "Neuer Kunde" Button. Stammdaten rein und speichern. Bei der Bestellung selbst wird zuerst überprüft ob es diesen Kunden gibt. Wenn nicht wird dieser automatisch beschränkt angelegt.

Um aber die Bestellung erfolgreich abschliessen zu können, brauche ich die Kunden ID.

Derzeit speichere ich zuerst den Kunden und hole mir über Scalar die Kunden ID (ja es geht auch ohne Aggregatfunktion). Auf gleichen Weg ein paar Stammdaten (wenn neu).

Diese FK ID's sind dann in den private vars der Routine gespeichert und können dann den Parametern der Insert Anweisung der Bestellung übergeben werden.

Funktioniert, nur ist das der effektivste Weg dies umzusetzen?

23.01.2008 - 03:08 Uhr

[EDIT]

Nächstes mal Usercontrols verwenden.

23.11.2007 - 09:48 Uhr

Noch immer keine Antwort X(

Ist mein Code nicht ein Widerspruch in sich? Wenn ich schon Databinding anwende, dann nutze ich die Methoden die .NET mir zur Verfügung stellt. Jedoch gibt es eine Beschränkung wie diese. Ausweichen auf eine selbstgeproggte Loop vorteilhaft? Oder Hut auf Eleganz?

23.11.2007 - 09:44 Uhr

Jetzt verstehe ich dein Problem. Ich würde beim Importieren immer auf den höchstmöglichen Wert aufsetzen um Konflikte zu vermeiden. Wenn du aber die ID's der Exporttabelle/Records brauchst, musst du leider deren Referenzen auf andere Tabellen neu setzen.

Die zu exportierenden Daten

12 Text1
15 Text2

Sollen in die Importtabelle mit Werten

.
.
.
15 TextA
16 Text B
22 Text C

kopiert werden.

Über Insert sieht es dann fogend aus:

15 TextA
16 Text B
22 Text C
23 Text 1
24 Text 2

Wobei du nach jeden Insert den neuen Identity Wert zurückgeben lassen musst um alle in Relation stehenden Tabellen zu aktualisieren.

23.11.2007 - 08:53 Uhr

Wofür willst du manuell den int Wert der Identity Spalte setzen? Das macht SQL Server automatisch. Ich nehme an, du hast das Problem mit dem erzeugen neuer Einträge während der Laufzeit, wo du mit der neu angelegten ID arbeiten musst.

Verwendest du Stored Procedures?

22.11.2007 - 23:34 Uhr

Überprüfe deinen Connectionstring mit einem UDL file.

22.11.2007 - 23:30 Uhr

Dann lass die Zeit weg

WHERE DATE BETWEEN '2007-11-10' AND '2009-11-22'

22.11.2007 - 21:59 Uhr

            Data.dsStudio.StudioDataTable dtStudioDataTable = new MTV.Data.dsStudio.StudioDataTable();
            Data.dsStudioTableAdapters.StudioTableAdapter daStudioTableAdapter = new MTV.Data.dsStudioTableAdapters.StudioTableAdapter();
            daStudioTableAdapter.FillStudio(dtStudioDataTable);

            cBoxStudio.DataSource = dtStudioDataTable;
            DataRow StudioDataRow = dtStudioDataTable.NewStudioRow();
            StudioDataRow["StudioBezeichnung"] = "---";
            StudioDataRow["DeleteFlag"] = false;
            dtStudioDataTable.Rows.InsertAt(StudioDataRow, 0);
            cBoxStudio.DisplayMember = dtStudioDataTable.StudioBezeichnungColumn.ToString();
            cBoxStudio.ValueMember = dtStudioDataTable.StudioIDColumn.ToString();
            cBoxStudio.Update();
            cBoxStudio.SelectedIndex = 0;

Nicht wirklich elegant, oder?

22.11.2007 - 21:40 Uhr

verwendetes Datenbanksystem: <SQL Server 2005>

Hallo Leute,

Über einen TableAdapter fülle ich ein DataTable und verwende dieses als Datasource für eine Combobox. Problem: Es wird standardmässig wie gewünscht gefüllt, nur vermisse ich ein leeres Comboboxfeld, wenn der User keinen Eintrag wählen möchte.

Folgende Fehlermeldung wenn ich versiche "" als Item hinzuzufügen:
Items collection cannot be modified when the DataSource property is set.

Irgendwelche Lösungen für dieses Prob?

26.10.2007 - 10:59 Uhr

Danke blackcoin & JuyJuka für die Antworten. Habe beide Vorschläge in die Umsetzung eingebunden und es funktioniert perfekt für die ersten Testabfragen. Die Depressionsphase ist vorbei 😉

26.10.2007 - 10:53 Uhr

Realisiere das über Object Binding anstatt dataSet direkt an die DataSource zu binden -> Benutzung der BindingSource Klasse.

17.10.2007 - 10:45 Uhr

-blackcoin,

Die Abfragen sind recht kompliziert, da auch Aggregatfunktionen erstellt und Datensätze verglichen werden sollen. Das Ausblenden von speziellen Columns funktioniert bei "*" und speziellen Views gut. Sonst nähert man sich entweder einzeiligen oder sogar Skalarabfragen. Du musst dir die Situation so vorstellen, daß der User kein SQL kann, das DB Schema nicht kennt (u.U. nicht darf) und trotzdem praktisch alle Abfragen über die GUI bearbeiten und abrufen kann.

-JuyJuka
Hört sich interessant an. Wie gesagt, hab ich mich nur kurz in die Materie des O/R Mapping eingelesen und ja, das Schema ist fix fertig. Die Frage ist die Performance gegen eine Datenbanktabelle mit Millionen Datensätzen (Maximale Ausgabebereich von etwa 1000-15000 Datensätze, außer spezielle Aggregatfunktionen für alle Datensätze, wo dem User aber klar ist, daß er Mittagspause machen kann). Wie hoch war der Aufwand den Mapper für dein Unternehmen zu schreiben?

Ich beschreibe euch einige Filter, um das zu veranschaulichen (eine graphische Beschreibung kann später erfolgen).

Projekte bestehen aus Tasks und Ressource (Mitarbeiter). Wer MS Project oder ähnliche Projektmanagementsoftware kennt, weiß um was es da genau geht. Jedenfalls, kann jedem Task eine oder mehrere Ressourcen zugewiesen werden. Ein Task selbst ist zur Vereinfachung ein zeitlich begrenztes Teilprojekt im Gesamtprojekt. Wobei ein Task auch einen Vorgängertask und Nachfolgetask besitzen kann.

Hier ein Beispiel aus dem Web (Entwickler sind Ressourcen, Tasks sind blau gefärbt)
http://www.zep.de/typo3temp/pics/c7a3558b14.jpg

Die Abfrage, wo z.B Entwickler "Müller" (neben dem Task würde entweder Müller stehen, oder vielleicht ist Müller im Ressourcenpool der Entwickler integriert) tätig ist, lässt sich einfach abfragen. Die Tabelle "Tasks" enthält die Column "Resources" und, die über eine n:m Beziehung auf die Hilfstabelle "Tasks_Resources" den Müller ausfindig macht (lassen wir den Resourcenpool hier raus). Diese Abfrage enthält überhaupt keine Komplexität.

Eine weitere Abfrage wäre, wann Müller direkt nach Mayer einen Folgetask hatte. Hier müsste man zuerst die Müllertasks intern filtern und alle Vorgängertasks folgend zusätzlich filtern, wo Mayer tätig war. Lässt sich aber in einem einzigen Query erstellen.

Ich denke ihr habt mein Problem erkannt. Hier mischen sich anscheined eure beiden Vorschläge. Das Hauptproblem ist aber: Wie setzt der User in der GUI diese Abfrage um? Wenn ich ihm zwei Listviews für die Namen zur Verfügung stelle, mit einer Combobox, in der die Filter für Vorgänger, Nachfolger integriert sind, kann ich gleich alle Filter manuell implementieren und es gäbe natürlich weniger Flexibilität für den Anwender. Dieses Listviewbeispiel ist eine fertige Abfrage mit auswählbaren Parametern. Lässt sich das flexibler umsetzen?

15.10.2007 - 20:05 Uhr

verwendetes Datenbanksystem: <SQL Server, MySQL>

Heute gab es bei uns ein Meeting bezüglich generischen Daten Mappings zur RDMBS. Das Problem: Das Datenbankdesign ist fertig und nun soll der User per Drag & Drop seine eigenen Filter erzeugen, was bedeutet, daß er das Datenbankmodell nicht kann und nicht kennen muss. Nur über die GUI werden die Daten im Hintergrund verknüpft und somit eine SQL Query intern erzeugt und verwendet.

Ich nehme an, daß O/R Mapping (kurz eingelesen) wahrscheinlich nicht in Frage kommt. Hat jemand eine Ahnung, wie man generische Datenbankabfragen umsetzen kann?

Danke für jede Hilfe, und vielleicht zusätzlich ein schlagkräftiges Argument es nicht zu benutzen. Bin immer noch der Meinung, daß die Wartung in diesem Bereich (eigene Filter selbst programmieren und als Update an die User senden) keine besonders hohe Folgekosten darstellt.

30.07.2007 - 00:47 Uhr

Hallo Leute,

Gibt es eine gescheite Blackbox Testing Software für .NET, besonders für das Testen von kompilierten DLL's?

30.07.2007 - 00:45 Uhr

Hallo Herbivore,

Hatten wir nicht einmal eine Diskussion bezüglich Destruktoren und das vernachlässigen des GC?

22.07.2007 - 01:48 Uhr

Das Klicken eines Buttons einer externen App wäre wünschenswert.

Nun habe ich das Handle des Hauptfensters (nicht der Parent des Buttons) und die Control ID des Buttons. Reichen beide aus um eine erfolgreiche SendMessage zu bauen?

Mein aktuelles Experiment:

SendMessage((int)hWnd, BN_CLICK, 1318, IntPtr.Zero);

wParam ist die Control ID selbst.

Ich benutze immer noch diese Klasse

Windowstitel auslesen

um die Controls zu enumerieren und habe erfahren, daß es mit weniger Aufwand ebenfalls geht (der Performance willen).

Entweder die Möglichkeit die Control ID direkt in ein Handle umzuwandeln, eine SendMessage, die nur die Control ID braucht. Soll irgendwie funktionieren, nur ist die Frage ob das Handle des Hauptfensters so passt und nicht direkt der Parent des Buttons.

21.06.2007 - 23:32 Uhr

@vizone

Du kannst noch soviel "perpetual" schreiben. Lies doch was Svenson geschrieben hat: Auch ich habe keinen Bock die **RICHTLINIEN ** zu befolgen. Somit hilft mir das perpetual erhelblich wenig. Perpetual + NO Richtlinienbefolgung = nada.

@herbivore
Blender ist mit dieser UI schon weit länger auf dem Markt. Lass es uns so beschreiben: MS hat das Konzept weiterentwickelt. Selbst das Tabmenükonzept ist nicht neu. Somit wurden beide Konzepte kombiniert und weiterentwickelt.

Mittlerweile habe ich auch eine Lösung wie ich diesen Schwachsinn umgehe:

  1. Ich lasse programmieren, denn als Auftraggeber brauche ich diese Mülllizenz nicht.
  2. Oder entwickle ich eine neue GUI und "erweitere" das Ribbonkonzept, wie auch MS von anderen abgekupfert und "erweitert" hat.

@sheitman

Natürlich lass ich eine Innovation patentieren, aber nicht Software 😉

Übrigens wäre ich neugierig, ob du ewig den Knecht spielen willst. Warte nur ab bis du an ein Unternehmen gelangst, wo ein Spinner seine eigenen Konventionen in das Projekt einfliessen lässt. Dir wird es nicht gefallen. Beispiel aus der Realität:

  • Properties: _varName nicht erlaubt. Verwendet wird prpVarName. Nun ist es aus mit dem schönen Refactoringtool von VS, nicht? Alles von Hand schreiben.

  • Datentypenersatz: Int32 wird nicht verwendet. Es wird als UGINT32 geführt. looool. Keine zusätzlichen Funktionen hat das Teil, eh klar.

  • Properties nicht erlaubt. Der Leader ist ein alter Javajaner. Statt Properties werden Methoden GET_XXX, SET_XXX verwendet.

Sheitman, hör einfach auf mich in diese Richtung kritisieren zu wollen.

15.06.2007 - 19:24 Uhr

Die Express-Editions haben nur eingeschränkte Möglichkeit. Nur eingeschränkt kommerziell nutzbar.

Ja natürlich egoistische Denkweise, was denn sonst.

Muss mich wieder einem Link bedienen:
http://patinfo.ffii.org/patente.de.html

Uns sagt nicht ich hätte zu Unrecht Bedenken!

15.06.2007 - 19:05 Uhr

Original von FZelle
Puh, hardcore sozialismus pur.

Da halte ich mich jetzt zurück, denn mit verblendeten Idealisten kann man nicht
vernünftig diskutieren.

Nett 👅

Gefällt dir das, wenn man dich für die Benutzung einer Combobox patentrechtlich verklagt?

Anstatt gegen Idealisten zu wettern, solltest du gehörig nachdenken. Du scheinst sozusagen das Gegenteil des Idealisten zu sein: Der Egoist.

Nun Back To Topic.

Hat wer Informationen zum europäischen Patentsystem? Hat MS erfolgreich in Europa gegen bestehende Softwarepatente geklagt? Glaube nicht, daß dies möglich ist und MS sich anstatt mit dem sinnlosen Office UI License Abhilfe verschafft.

15.06.2007 - 15:54 Uhr

@sheitman

Ich will mir einfach die Richtlinien nicht aufzwingen lassen. Gefällt dir das, wenn die Projektleitung zu dir kommt und dir mitteilt, daß die geschwungene Klammer neben der Methodensignatur platziert werden soll, anstatt darunter? Solche überflüssigen Konventionen fördern nicht die Produktivität. Sag nie einem Entwickler WIE er es umsetzen soll!

Solange ich kein "MS Certified" anstrebe, will ich mich nicht an Richtlinen halten, wo was zu stehen hat und wie es funktionieren soll.

15.06.2007 - 15:41 Uhr

Nana, jetzt aber langsam. Es geht hier ums Prinzip. VS Lizenz ist z.B bezahlt. Ribbon ist frei, jedoch mit Richtlinien verbunden, die MS jederzeit ändern kann. MS kann nicht einfach so reinstoplern und sagen, ich könnte nicht mehr mit VS entwickeln, wofür ich bezahlt habe. Beim Ribbon aber theoretisch schon.

Was haben diese Hässlichen Blender Tabs denn mit Ribbons zu tun?

Daß MS das Grundkonzept "gestohlen" hat? Und nun als eigene Innovation ausgibt?

Du bist wohl eine von diesen Opensource Marionette, die immer behaupten,
das geistiges eigentum immer auch der allgemeinheit gehören sollte.

Meinst du nicht, daß man sich zusammenschliessen sollte, als harten Konkurrenzkampf zu führen? Vielleicht booten sich beide Parteien letztendlich gegenseitig selbst aus? Jeder schwitzt vor Freigabe seines Eigentums oder vor Geheimhaltung. Verdammter Kapitalismus. :evil:

15.06.2007 - 15:07 Uhr

@vizone

Blender3D hatte dieses Grundkonzept schon früher implementiert.

Screenshot

@sheitman

Abgesehen, daß viel Zeit und Geld investiert wurde...
Die Richtilinien könnten jederzeit geändert werden, uns was machst du dann ALS ABHÄNGIGE MARIONETTE. Gilt übrigens auch, wenn MS Lizenzvereinbarungen ändert.
Ich will aber meine Freiheit im Design behalten und mich nicht an irgendwen und irgendjemanden binden. Du bist selbst Entwickler und bete, daß in Europa niemals Softwarepatente durchgesetzt werden, abgesehen welche absurde Patente es in den USA gibt.

15.06.2007 - 14:25 Uhr

Ich finde es absurd, daß ein Konzept patentierbar ist. Für die Implementierung des Ribbons muss eine freie Lizenz von Microsoft erworben werden. Der größte Witz ist die Einhaltung von vorgegebenen Designrichtlinien. Das Wort "Ribbon" scheint das neue Modewort für die Tabgesteuerte Menüführung zu sein, jedoch ist das Konzept nicht von Microsoft selbst erfunden. Dieses Konzept findet in Anwendungen Verwendung, wo Microsoft noch seine Millionen in R&D für die neue GUI verschwendet hat.

Derzeit läuft die Patentanmeldung noch und ich warte diese noch ab. Wie ist eure Meinung zu dieser Story und wie sieht der Zugriff von Microsoft auf europäische Unternehmen aus, die weltweit ihre Software vertreiben?

Bitte um rege Teilnahme!!!

Links

Jensen Harris Blog

Offizielle Licensing site

29.03.2007 - 14:24 Uhr
/^[A-Za-z0-9]+$/;

Man lernt nie aus. Hat schon seine guten Seiten, daß man einen schmorren lässt. Diesmal muss ich mich herzlichst bedanken. Ein Thema mehr in .NET ins Hirn eingebrannt.

26.03.2007 - 22:28 Uhr

Na klar, weiß ich das. Aber ich will nicht, daß einer für mich die Arbeit macht, sondern vielleicht einen ++fertigen ++Code reinstellen kann (wenn auch andere Zeichen replaced werden).

Bin aber bereits kurz vor der Lösung.

26.03.2007 - 21:47 Uhr

Deshalb frage ich ja die erfahrenen Leute hier. Ich will ja nicht WinXP fertigcodiert haben, sondern nur einen einfachen Regex Code.

Ich bin immer noch am Regex werkeln.

26.03.2007 - 20:10 Uhr

Danke, aber in 90 Minuten sich das anzueignen wird schwierig.

26.03.2007 - 19:46 Uhr

In einem String möchte ich nur A-Z, a-z, und 0-9 erlauben. Hat jemand einen fertigen Code, der es erlaubt alle anderen Zeichen zu ersetzen bzw. zu löschen?

Ich danke im Voraus, ist unbedingt dringend. Mit Regular Expressions habe ich keine Erfahrung.

21.03.2007 - 19:50 Uhr

Ja, geht schon, aber dieser Extrabutton wäre schöner. Gibt es überhaupt diese Möglichkeit? Sonst weiche ich auf die Minimieren Möglichkeit aus.

21.03.2007 - 19:32 Uhr

Kann man neben den vorhandenen Controlboxen eine weitere hinzufügen. Derzeit gibt es Schließen, Maximieren, Minimieren. Nun soll eine weitere Controlbox die Applikation ins Tray schieben. Oft sieht man solche Controlboxen, die sich grafisch den Minimize Boxen ähneln. Gibt es in .NET Möglichkeiten dies zu realisieren?

01.03.2007 - 19:21 Uhr

hi herbivore,

Danke für den Tipp. Funzt wie am Schnürchen (Asynchrone gemixt mit Synchrone Kommu).

26.02.2007 - 23:53 Uhr

Hallo Herbivore,

Danke für die Antwort.
leider greifen alle Beispiele, auch die deiner App in der Windows Form darauf zu.
Ich habe eine ausgelagerte Klasse, die das Listview ohne Konstruktor gar nicht referenzieren könnte. Ich kann nicht von der Klasse auf die Win Form Klasse einfach so zugreifen. Das ist mein Problem.


Ist das Invoke unbedingt notwendig? Ich kann auch in der externen Klasse einen Eventhandler einbauen und die Winform abonniert diese. Sollte logischerweise funktionieren, aber dann wofür das Invoke?


ok, funktioniert nicht. Auch wenn ich die Win Form im Konstruktor mitübergebe kann ich auf kein Delegate in der Win Form aus der externen Klasse zugreifen. Hatte schon mal einen Fall, wo ich aus einer externen Klasse auf eine Methode der Win Form zugreifen musste. Das war aber mit Hilfe von Reflection gegessen.


Aus der Klasse Listoperator, die mittlerweile im Konstruktor die Win Form mitübergeben bekommt, wird nun folgendes aufgerufen

mainForm.Invoke(new DelegateTablesAdd(AddTable), new object[] { lvi });

AddTable ist in der Win Form Klasse, natürlich wird nichts erkannt. Das Delegate wird diesmal erkannt, da ich es in den Namespace Bereich verschoben habe.

Nennen wir das Problem "Cross-Class-Threading".

25.02.2007 - 23:53 Uhr

Die Applikation besteht aus der Form/Windowklasse mit einem eingebetteten Listview, sowie der Klasse Listoperator mit einem Konstruktor, der das Listview anfordert.

In der Klasse Form1.cs

Listoperator lop = new Listoperator(listView);

Nun will ich in von der Listoperator Klasse aus das übergebene Listview befüllen. Cross-Thread Problem während des Debuggens.

Ich hab mich schon im Web schlau gemacht, nur gibt es ständig Beispiele, die auf "this" zurückgreifen. Auch das Deaktivieren des Cross-Thread Checks kommt nicht in Frage.

Gibt es einfache Möglichkeiten etwas zu implementieren?

21.02.2007 - 12:15 Uhr

Was dsa jetzt mit leicht oder weniger leicht crackbar zu tun hat, kannst du mir vielleicht anhand eines plausiblen Beispiels verdeutlichen?

Glaub mir, ich hab schon gesucht. Es stand, daß das Framework ausgehebelt werden müsste um irgendetwas in deiner App verändern zu können. Die Suche war während meiner Signierungs-Odysee.

Bei der native Exe geht es darum, daß der Code in .NET nicht mehr dekompilierbar ist, sonst wäre diese Diskussion nicht notwendig. Hier geht es mehr um das "Einbetten" in eine native Umgebung und folgend mögliche Cracks.

20.02.2007 - 00:16 Uhr

Hallo Leute,

Ist die Signierung einer Executable unbedingt notwendig? Meine .NET Applikationen werden native kompiliert und nun hängt der Key drin. Was bringt mir dieser nun in einer Exe? Habe mal gelesen, daß Apps mit Strong Key nicht leicht crackbar "wären", da das .NET Framework selbst ausgehebelt werden müsste. Was ist dran?

22.01.2007 - 11:59 Uhr

Danke für eure Antworten. CloseReason ist exaxt das was ich brauche um einen externen Shutdown von Win durch den User zu garantieren.

18.01.2007 - 04:19 Uhr

No possibilities?

16.01.2007 - 15:26 Uhr

Exakt, gilt pro Aufruf. Normalerweise brauchst du dich jetzt nicht mehr um die Aufruffolge kümmern, wie ich sehen kann. Nur der doppelte Aufruf ist das Problem. Ist das der komplette Code von dir, denn wir hier im Thread sehen?

16.01.2007 - 15:18 Uhr

Ja, jetzt tu ich comprendre. Für das Schreiben wäre ein Lock angemessen mit Gegenprüfung zum Array. Dann wird auch die Liste ordnungsgemäß wiedergegeben.

16.01.2007 - 15:16 Uhr

Original von norman_timo
Hallo zusammen,

habe den Kern dieses Threads nicht nachvollzogen, möchte aber zu folgendem Punkt eine BBemerkung machen:

Lock(this)

Ich habe gelesen, dass das überhaupt nicht gut ist, da es hier die Referenz des Objektes als Lock-Kriterium heranzieht. Es kann aber sein, dass die Referenz sich ändert, dann wäre das Lock hinfällig.

Besser: Eine Konstante erstellen (z.B. String) und diesen nehmen. Oder wenn ein "readonly" Objekt gelockt werden soll, dann besser gleich dieses Objekt heranziehen.

Gruß
Norman-Timo

Bei großen Softwarearchiekturen ist das sicher richtig. Aber wie gesagt, er soll das Array durchlaufen und die Threads für die einzelnen URL Einträge starten.

16.01.2007 - 14:51 Uhr

Mit Lock(this) kannst du doch den Durchlauf ordnunggemäß gezielt durchlaufen.

Jedoch willst du nicht andere Threads warten lassen. Also würde ich das Array mit den URLs gegenprüfen und so die Ordnung "wiederherstellen". Wenn 2x Param3 auftaucht ist das definitiv ein Bug.

16.01.2007 - 14:41 Uhr

Ich habe ein Problem wenn meine .NET Applikation läuft und ich Windows runterfahren möchte. Es funktioniert nicht, da sich Windows die Applikation nicht schliessen kann. Welche Möglichkeiten gibt es hier?

Meine derzeitige Lösung:


        protected override void WndProc(ref Message m)
        {
            // Perform pre-processing here.

            // Call the base.
            base.WndProc(ref m);

            // Post-processing here.
        }

04.01.2007 - 00:48 Uhr

Tabelle "A" Spalte 2 in Tabelle "B" Spalte 1 zum Bsp.

Natürlich sind beide Tabellen auf zwei verschiedenen Datenbanken implementiert.