Laden...
G
Grumbler85 myCSharp.de - Member
Entwickler Rheingau Taunus Dabei seit 13.05.2008 538 Beiträge
Benutzerbeschreibung

Forenbeiträge von Grumbler85 Ingesamt 538 Beiträge

02.08.2011 - 11:10 Uhr

Sieht gut aus

02.08.2011 - 10:22 Uhr

ich würde vermuten du versuchst ein frmbasis zu bearbeiten - das geht nicht.

02.08.2011 - 10:09 Uhr

Ich würde mal die Lizenzbedingungen der PrimaryInteropAssemblies lesen - die dürften dir aufschluss geben.
Im Endeffekt machst du ja Werbung für MS-Produkte und nutzt sie als Vorraussetzung - von daher würde ich tippen (trotzdem lesen!), dass es eher erlaubt als verboten ist.

01.08.2011 - 12:38 Uhr

Ich nutze das so nicht - ich wollte nur mal hören, ob das dieses "ref int"-speichern Problem lösen würde (und das würde es wohl) - war aus reiner wissbegierde.

01.08.2011 - 12:22 Uhr

Nur aus interesse - würde das hier auch zum gewünschten Ergebnis führen?


  public class Ref<T> where T : struct
    {
        public T Value { get; set; }

        public static implicit operator T( Ref<T> imp )
        {
            return imp.Value;
        }

        public Ref() {}

        public Ref(T value)
        {
            Value = value;
        }
    }

01.08.2011 - 10:17 Uhr

Du könntest es im Parameter vermerken, für welche Versionen er gedacht/nicht gedacht ist.

29.07.2011 - 08:53 Uhr

Ich hätte auch noch einen kurzen Hinweis für die Prüfung, ob Administrator oder nicht - und soweit ich das bisher gesehen habe arbeitet das zuverlässig - sogar für Webanwendungen (sofern die Rollen benutzen):


var permission = new PrincipalPermission(null,  "Administratoren");
permission.Demand();

Man bekommt sogar eine passende Exception, falls der Benutzer nicht in der Rolle ist (nämlich eine SecurityException) - alles in allem m.E. nach sehr praktisch. (UAC ist damit im übrigen auch kein Problem)

28.07.2011 - 10:27 Uhr

Vielleicht hilft dir der Parent von einem InlineShape weiter?

27.07.2011 - 16:27 Uhr

Im Solution Explorer ist sind am oberen Rand ein paar Tasten

Die zweite davon heißt: "Show all files"
Wenn du diese drückst, wirst du deine Bilder vermutlich sehen und per Rechtsklick zum Projekt hinzufügen können.

27.07.2011 - 15:42 Uhr

Das geht auch .. kürzer (also ohne Array von Buchstaben):


static Char ToColumnIndex(int i)
        {
            return (Char) ('A' - 1 + i);
        }

Wenn man Indexe wie AA etc. (also > 26) benutzen will müsste man theoretisch die Zahl auf Basis 26 umrechnen (wie das geht weiß Wiki).

27.07.2011 - 15:16 Uhr

Du kannst auch einen Bereich mit einer BedingtenFormatierung versehen, dann brauchst du nicht überall zu prüfen, was drin steht ...

Im übrigen.. eine Range braucht doch mehr als nur zwei Werte oder?
Da Excel 2-dimensional ist würde ich spontan auf 4 Werte tippen ...

27.07.2011 - 10:00 Uhr

Mein vorgehen wäre (so aus dem Kopf heraus)

im <tr> eine class (oder ein rel) unterbringen, mit der ich so ne Spalte wiederfinde.
onclick vom tr (falls möglich) oder von den td abonnieren.
Beim Click die Spalte auswerten und deine "öffnen-spalte" suchen. Dort den Link extrahieren und per JS navigieren.

27.07.2011 - 09:52 Uhr

Du kannst das Element aus der Controls-Collection des Parents entfernen - das sollte funktionieren.
Alternativ (ich vermute es geht um ausblenden) kannst du auch Visible auf false setzen oder wie man es auch häufig macht Enabled auf false setzen.

26.07.2011 - 14:57 Uhr

In Visual Studio kannst du im Menü "Debug" > "Attach to process" den Debugger an weitere Prozesse hängen.

//edit:
Manchmal lohnt es sich dabei ein

#if DEBUG
while (!Debugger.IsAttached)
{
    Thread.Sleep(100);
}
Console.WriteLine("Debugger attached");
#endif

in den Process einzubauen, damit er nicht "wegrennt" und du Zeit zum Attachen hast.

26.07.2011 - 14:54 Uhr

Naja - solange der SQL Server verfügbar ist hat der Cache keinen Sinn - das ist ja eher für die Zeit gedacht, in der du offline unterwegs bist.

26.07.2011 - 14:52 Uhr

Kurzer Hinweis zur AppConfig:
Es wird die config geladen, die der Einstiegsapplikation entspricht.
Konfigurationen von DLLs werden nicht geladen.

Bei dir würde also wenn du BI.dll und Service.exe hast nicht die BI.dll.config geladen sondern Service.exe.config.

In letzterer kannst du alles konfigurieren, was du brauchst.

26.07.2011 - 12:35 Uhr

Für das lokale Speichern gibt es spezielle Templates die kannst du deinem Projekt hinzufügen und heißen "Local Database Cache" mit dem SQL Server kannst du dann das Change-Tracking benutzen.

Mehr dazu gibt die MSDN her.

26.07.2011 - 12:32 Uhr

Offensichtlich gibt es eine weitere Datei, die Phoneslae.Properties.Settings.Default deklariert. Am besten suchst du mal nach "Default" oder "class Default" mit der Suche (STRG + F) > Suche in Dateien > gesamte Projektmappe

26.07.2011 - 12:29 Uhr

Du kannst entweder jede Zelle mit nem Link versehen, oder aber du nutzt javascript.

Für den JS Fall - aber BIIIITTTTEEEEE - nur linksklicks ohne Tastendruck.
Es gibt nichts schlimmeres als Seiten die wegnavigieren, obwohl man nur einen neuen Tab wollte ...

Du kannst mit JS einfach die Spalte lesen und den link benutzen.
Am besten kennzeichnest du ihn mit einer class oder einem rel attribut.

23.07.2011 - 16:44 Uhr

Nun hast du noch den Fall, dass Windows vielleicht irgendwo was in einem Cache ablegt.

Ich würde dir empfehlen VERSCHIEDENE Daten zu lesen - oder tatsächlich welche zu schreiben - dann kannst du zufallsdaten benutzen ..

22.07.2011 - 11:44 Uhr

Ich könnte mir vorstellen, dass du Daten aus einem Chache ausliest, den der SQL Server füllt, ohne dass du das mitbekommst - d.h. es könnte sein, dass du die Daten gar nicht von der Festplatte lädtst - sondern aus dem RAM.

100MB in 1 Sek von der Festplatte wäre dennoch recht flott, wenn du nicht grade ne SSD hast.

Im übrigen liest du daten - schreiben ist nicht read ...

22.07.2011 - 11:31 Uhr

Ich würde auf einen Systematischen Testfehler tippen ....

22.07.2011 - 11:29 Uhr

Hallo,

die WHERE Klausel ist eine EINSCHRÄNKUNG - nichts wo man Daten setzt!

Wenn du Parameter setzen willst nutze die SELECT Klausel,
also etwa

SELECT Feld1 = @Parameter1 FROM Tabelle1 WHERE @Ebene = 0

Allerdings brauchst du so gar nicht mehr die Tabelle nutzen sondern kannst auch SET benutzen.

22.07.2011 - 11:10 Uhr

Ich weiß nicht, ob Firebird das Konzept kennt, aber statt einer StoredProcedure solltest du eine Funktion benutzen.
Alternativ kannst du vielleicht eine View Basteln, die die Stored Procedure Daten beinhaltet.

Was du da betreibst erinnert ein wenig an missbrauch von SPs.

Notfalls schreib eine SP, die das komplette Select ausführt.

21.07.2011 - 17:42 Uhr

Ich kenne das Problem mit bestimmten Netzwerkdruckern besonders unter Windows Vista, allerdings beschränkt sich das dann nicht auf eigene Programme, sondern auch Word, etc. haben Probleme diesen Dialog zu öffnen.

Wenn kein Drucker installiert ist (außer XPS- und evtl. PDF-Druckern), dann sollte es aber sehr zügig von statten gehen.

21.07.2011 - 10:00 Uhr

Mal abgesehen davon, dass du wenig darüber schreibst, wie du das Certifikat lädst und was genau der Fehler ist, orakel ich mal ein wenig:

Zertifikate im Store haben zugriffsrechte - hast du geprüft, ob du es lesen kannst?

13.07.2011 - 15:34 Uhr

Du kannst den Betrieber ja auch einfach aus deinem FK ausnehmen.


ALTER TABLE dbo.Auto WITH CHECK
ADD CONSTRAINT FK_Auto_Motoren FOREIGN KEY
(Motor)
REFERENCES dbo.Motoren
( ID )

Ich vermute mal du musst dir erstmal bewusst darüber werden, was wirklich dein PrimaryKey in den Tabellen ist und was nur eine unique einschränkung sein sollte.

Vielleicht suchst du auch bei Wikipedia mal was zum Stichwort Normalisierung - ich glaube da ist nämlich im Design was schief gegangen ...

12.07.2011 - 16:29 Uhr

Ich würde das JavaScript so schreiben, dass kein Fehler auftritt ...

12.07.2011 - 12:00 Uhr
new

ist kein böses Wort.. das brauch man in C# und ist ganz toll 😃

12.07.2011 - 11:56 Uhr

Die Lösung steht im Fehlertext.

Der Server konnte die Anforderung aufgrund eines internen Fehler nicht verarbeiten. Wenn Sie weitere Informationen zum Fehler erhalten möchten, aktivieren Sie entweder IncludeExceptionDetailInFaults (entweder über das ServiceBehaviorAttribute oder das <serviceDebug>-Konfigurationsverhalten) für den Client, um die Ausnahmeinformationen zurück an den Server zu senden, oder aktivieren Sie die Ablaufverfolgung gemäß der Microsoft .NET Framework 3.0 SDK-Dokumentation, und prüfen Sie die Serverablaufverfolgungsprotokolle.

12.07.2011 - 10:56 Uhr

Und was hält dich davon ab eine Liste, Array oder andere Collection zu benutzen.

11.07.2011 - 11:18 Uhr

Du kannst eine DataTable meines wissens nach in eine XML-Struktur schreiben. Vielleicht funktioniert das (natürlich nur dann, wenn die Funktion nicht selbst den XML-Serializer benutzen sollte).
Mir fällt allerdings der Funktionsnamen grade nicht ein ...

11.07.2011 - 11:03 Uhr

Ich bin mir nicht sicher, wie das serialisieren der Datatable intern abläuft, aber scheinbar ist deine schlicht und ergreifen zu groß (und ich würde auf zu "breit" tippen). StackOverflow tritt ja meistens bei ner zu großen Rekursionstiefe auf ...

Du könntest nun entweder versuchen jeweils nur einen Teil zu serialisieren (also zum Beispiel 4 Tabellen á 500 Spalten) oder du könntest versuchen diese kleineren zu serialisieren.

Ein weiterer Versuch wäre es die Tabelle erst in XML zu schreiben und dann selbiges zu Serialisieren.

Und als letztes fällt mir noch ein:
Schreib deinen eigenen Serialisierer - ist glaube ich gar nicht so schwer.

08.07.2011 - 14:39 Uhr

Ist vielleicht im Ordner "Kernel" schon was drin, was nicht überschrieben werden kann?

08.07.2011 - 13:39 Uhr

Du könntest deine POSTBuild ja dann nen Move machen lassen - aber egal ...

Hast du die Build Reihenfolge geprüft? Die lib sollte zuerst dran sein.
Hast du den xCopy ErrorCode mal gegoogelt? Das könnte aufschluss über das Problem geben.

08.07.2011 - 09:54 Uhr

Stell einfach deinen Ordner Lib auf "Copy to output" und er kopiert es automatisch für dich beim Build

08.07.2011 - 09:48 Uhr

Ich würde ja behaupten, dass es das Ziel von MVC 3 ist, diese WebForms geschichten grade NICHT zu benutzen, denn was dir MVC 3 und Razor erlauben, ist ja vor allem, dass du die totale Kontrolle über das generierte HTML hast.
Es gibt auch Abhandlungen dazu im Netz, die erklären warum das "besser" ist, bzw. wo vor und nachteile liegen.

07.07.2011 - 16:52 Uhr

Ich hab auch gute Erfahrung mit dem RDLC und der REportdesigner ist bei Microsoft frei zum Download.

Ebenfalls gut (aber nicht kostenfrei) ist m.E. Combit's List'n'Label - besonders hervorzuheben wäre hier der hervorragende Editor.

Crystal Reports fand ich etwas umständlich zu editieren und ich hab da keine besondere Erfahrung mit sammeln können.

05.07.2011 - 15:51 Uhr

Du kannst User Controls auf Tastendruck instanziieren und dann auf deiner Form platzieren und das aktuel geladene UserControl wieder entfernen.

Die UserControls selbst fertigst du einfach wie eine Form vor.
Die Events für Tasten definierst du dann am besten auch im UC, denn dann musst du nicht noch in der Form entscheiden, welches grade geladen ist.

04.07.2011 - 17:23 Uhr

Hallo,

also offensichtlich ist ja bei

listBox3.Items.AddRange(comparedList.ToArray());

entweder Items oder comparedList grade null (ich tippe auf comparedList).
Da du Ultimate hast kannst du ja vielleicht zurückspulen und schauen, warum das so ist.

Im übrigen was deinen Algoritmus angeht:
zwei Sortierte Mengen sind relativ einfach zu vergleichen:

  • zwei Zeiger (also Indexzähler)
  • auf der Menge mit dem aktuell kleineren Wert den Index hochzählen
  • bei gleichen Einträgen den aktuellen kopieren
    damit bekommst du eine Laufzeit (ohne Sortieren) von O(R+S) allerdings nicht paralellisierbar

Ebenfalls könnte dir ein IEnumerable<>.Join() das gewünschte ergebnis bringen (da kenn ich aber die Laufzeit nicht)

04.07.2011 - 13:39 Uhr

Es könnte sein, dass iTunes keine multiplen Instanzen erlaubt und für die COM versucht eine Instanz zu starten.
Die einzige Lösung wäre dann zu schauen, ob iTunes läuft und es gegebenenfalls beenden.
Eventuell gibt es aber auch andere Konstruktoren, die mehrere Instanzen erlauben, oder eine bereits vorhandene instanz nutzen.

01.07.2011 - 14:35 Uhr

Ich glaube du kannst in diesem Registrierungsschlüssel Anonyme Named Pipe Zugriffe auf bestimmte Pipes erlauben.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\NullSessionPipes

Im Übrigen solltest du die dort vorhandenen **AUF KEINEN FALL **entfernen.

27.06.2011 - 10:33 Uhr

Hallo,

also meine Erfahrung mit "Beispielprogrammen" war bisher eher, dass es so gut wie nie ohne Anpassungen out-of-the-box funktioniert - also geh mal davon aus, dass tatsächlich Fehler drin sein könnten ...

24.06.2011 - 23:28 Uhr

Ich würde dir ne MessageQueue empfehlen - die ist asynchron und dir gehen also auch alte Fehler nicht verloren.
Die sind auch recht einfach zu implementieren mit WCF

24.06.2011 - 23:26 Uhr

Hallo,

zu schön oder unschön sage ich nichts und auch zu SEO-Friendly oder nicht kann ich nichts sagen,
aber was ich dir sagen kann ist folgendes:

/Entry/Detail/100/Titel-des-Eintrags könntest du auch anders ersetzen, nämlich zum Beispiel mit sowas wie Eintrag/Titel-des-Eintrags-1000 - du musst die Parameter nämlich nicht durch / abtrennen.

zu 1)
Nein - warum sollte man ein Constraint anlegen für die Action? Wenn jemand eine Action will, die nicht existiert - bekommt er sie sowieso nciht.
Constraints sind sinnvoll um zum Beispiel Datenformate abzuprüfen (zum Beispiel könnte id eine gültige GUID sein müssen).

zu 2)
Route Constraints sind Regex du kannst also, falls du deine Actions in die Constraints schreiben willst sowas wie (Action1|Action2|Action[0-9]) schreiben.

zu 3)
Du kannst über die Implementierung bestimmter Klassen (ich weiß nicht welche, aber auf Google gibts beispiele) bestimmen, wie die Action ausgewählt wird. Wenn du dort eine Übersetzungstabelle zwischenschaltest, kannst du es auch Lokalisieren.
Du könntest auch Lokalisierte Klassennamen erzeugen, die einfach nur auf das orginial Weiterleiten (eher quick'n'dirty).
Bei Views kannst du die einfach sowas wie View.de-De.cshtml erzeugen, oder das normale Ressoucensystem benutzen.

22.06.2011 - 16:35 Uhr
[EnumMember]

bezieht sich, wie der Name schon sagt, nur auf Elemente aus einem Enum.
Du musst (glaube ich)

[DataMember]

benutzen.

22.06.2011 - 13:07 Uhr

Zu 1) kann ich nichts sagen.
Zu 2) Du kannst das gar nicht verhindern ... aber ein paar Anmerkungen:

Entweder sorgst du dafür, dass der Benutzer nur tun darf, was eben für Ihn erlaubt ist (das Rechtemodell im SQL-Server wird dir dabei helfen) - dann benötigst du Check-Constraints, ordentliche FKs, einige Views - vielleicht auch ein paar Stored Procedures.
Oder du kapselst das ganze in ein Trusted-Subsystem (beispielsweise eine Webschnittstelle) und kannst dann dort statt in der Datenbank das Rechtemodell unterbringen.
Was den benutzer aber nicht davon abhält trotzdem mit einem anderen Programm die Daten generieren (sofern das Programm deine Schnittstelle versteht).

22.06.2011 - 09:46 Uhr

Teste es doch einfach mal im "echten" IIS.
Wenn das "Problem" dort immer noch auftritt, dann ist es eins - ansonsten würde ich es nicht wirklich als Problem bezeichnen.
Du kannst auch "ohne Debugging" starten und den Debugger nur attachen, wenn du ihn grade wirklich brauchst - ich vermute, dass das dein "Problem" auch mindert

21.06.2011 - 16:50 Uhr

Okay... nun verstehe ich

du könntest versuchen aus dem DisplayString einen Regex zu basteln bei dem du das Format Teil (also {0:0.##}) durch (.*) ersetzt, dann kannst du aus den Regex Matches den passenden Match extrahieren und parsen.

21.06.2011 - 16:33 Uhr

Du könntest sie ja vielleicht einfach installieren auf einem Testsystem?