Thomas Woelfers Baustatik Blog

Baustatik-Software und was sonst des Weges kommt

Schande auf mein Haupt

In einem Beitrag über Statik-Foren hatte ich auch das Forum von Sofistik erwähnt - und das war dabei nicht gut weggekommen. In der Tat verhält sich die Sachlage aber deutlich anders, als ich damals angenommen hatte: Die Google Suche hatte mir nur einen kleinen Teil des tatsächlichen Forums geliefert, und der war nur als Ersatz für eine unidirektionale Mailing-Liste gedacht.

Der Kollege Christof Lorenz von Sofistik hat mich heute aber korrigiert: Tatsächlich ist das Sofistik-Forum deutlich aktiver, als ich damals geschrieben hatte. Sorry für meinen Irrtum, und besten Dank an Herrn Lorenz für die Korrektur. Das "richtige" Sofistik-Forum findet sich hier.

Das wird lustig: Oracle vs. Red Hat

Wer es noch nicht gehört hat: Oracle hat soeben das "unbreakable" Linux vorgestellt. Das spassige daran ist die Tatsache, das es sich bei Oracles "unbreakable" Linux in der Praxis um eine Ausgabe des Red Hat Enterprise Linux handelt. Mit einem kleinen, aber nicht unwesentlichen Unterschied: Red Had hätte dafür im Fall des Advanced Servers gern eine Summe zwischen 1500 und 2500 Dollar - bei Oracle bekommt man das für 99. Eigentlich eine geniale Idee: Man nimmt die Distribution eines anderen, klebt eigene Logos und (lächerliche) Versprechen drauf - und verkauft das ganze deutlich unterm Preis des eigentlichen Herstellers. (Der natürlich, nicht zu vergessen, auch hauptsächlich davon lebt, die Arbeit unbezahlter Dritter zu verteilen.)

Wirklich nett, die GPL - denn die macht es Oracle ja erst möglich, so zu handeln.

Managed DirectX in Windows Forms

In der aktuellen DotNetPro gibts einen Aufsatz von mir zum Thema: MDX in Windows Forms. Die Titelgeschichte basiert auf einem Programm zur Visualisierung von zweidimensionalen Formeln. (Quellcode gibts auf der Heft-CD, und, soweit ich weiss, nach einiger Zeit auch über die Webseite des Magazins.)

Windows Desktop Search Version 3 ist da

Und die klappt richtig gut, indiziert von Haus aus, auch ohne rumgefrickel C,cpp,h und C# Dateien sowie Mail in Outlook Express und Outlook-Inhalte wie Mails und Kontakte - und ist auch in einer x64 Version verfügbar. Prima. erweiterbar ist das ganze auch noch: So gibt es zum Beispiel Erweiterungen für PDFs, RAR-Dateien, Star- und OpenOffice-Dateien sowie Mails in Thunderbird/Mozilla/Eurora. Kostenloser Download.

Update zum GoGear

Teil 1, Teil 2, Teil 3.

Nun - Philips hat sich gemeldet, wie angekündigt nach 4 (Arbeits)tagen. Allerdings: Wirklich hilfreich ist die Hilfe bisher nicht. Ich soll den Player an einen "anderen" Computer anschliessen und dort die Firmware-Aktualisierung durchführen. Danach sind angeblich alle Probleme weg.

Dummerweise habe ich nur 4 Rechner zur Verfügung, und auf keinem davon "sieht" der Firmware-Manager den Player - darum kann ich auch die Firmware nicht updaten. Und um ehrlich zu sein: Wenn es auf 4 Kisten nicht geht, dann wird es vermutlich auch auf der 5. nicht gehen. Das ist zumindest das, was ich dem Support-Mitarbeiter gesagt habe. Mal sehen, ob da noch irgendwelche anderen Vorschläge kommen...

Davon mal abgesehen scheint mir die Antwort darauf hinzudeuten, das Philips sehr wohl weiss, das das Gerät nicht funktioniert - und die Dinger trortzdem einfach ausliefert. Scheint nicht so wichtig zu sein, das Funktionen die beworben werden, schlicht und ergreifend im ausgelieferten Zustand nicht funktionieren.

Properties im PropertyGrid verstecken

Manchmal möchte man das das PropertyGrid nur einige der vorhandenen Properties eines Objektes anzeigt - und zwar abhängig vom Kontext. Das ist relativ einfach, da das PropertyGrid zum ermitteln der Metadaten über eine Objektinstanz den TypeConverter des Typs der Instanz verwenden. Alles was man also tun muss, ist einen eigenen TypeConverter an den Typ zu hängen.

Hier ein extrem vereinfachtes Beispiel: Der Typ TestClass hat eigentlich ein Property, und dieses eine Property wird im Beispiel vollständig versteckt. (In der Realität wird man wohl eher ein Subset der vorhandenen Properties liefern statt einfach alle zu verstecken.)

Schritt eins: Der Typ muss mit einem TypeConverter ausgestattet werden:

[TypeConverter(typeof(TestClassConverter))]
public class TestClass
{
   [Browsable(true)]
   int Property
   {
      get
      {
         return 5;
      }
      set
      {
      }
   }
}

Schritt zwei: Der TypeConverter muss implementiert werden:

public class TestClassConverter : TypeConverter
{
   public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes)
   {
      return new PropertyDescriptorCollection(new PropertyDescriptor[] { });
   }

   public override bool GetPropertiesSupported(ITypeDescriptorContext context)
   {
     return true;
   }
}

Noch ein Update zum GoGear

Teil 1, Teil 2. Ich habe absolut nichts verändert - und jetzt "shuffelt" es. Naja, ein bisschen. Ich war heute morgen etwa 40 Minuten joggen, und dabei gab es 5 x Billy Joel, 3 x Fisher Z, 4 x Depeche Mode und 2 x was anderes. So richtig dolle ist das nicht, aber immer noch besser, als das bisherige komplett lineare abspielen. Mal abwarten: Vielleicht sind da ja irgendwelche Selbstheilungskräft am Werk...

Vom Philips-Support habe ich übrigens noch nichts gehört.