Kurze Blogpause ...

28. Juli 2005 08:32

für 3 Tage:

lago_di_garda.png

Update: Stützenprogramm, Fundament, Dachberechnungen, Durchlaufträger

27. Juli 2005 13:03
Ab sofort sind neue Updates im Download-Bereich verfügbar. Details zu den Updates wie immer im Update-Log und im Statik-Blog meines Bruders.

Freuden auf dem Amt

26. Juli 2005 14:18

Ich habe heute einen neuen Personalausweis abgeholt. Dazu muss man hier in München in einem Warteraum eine Nummer aus einem Automaten ziehen. Über den Schalter befindet sich dann eine Anzeige, in der die Nummer angezeigt wird die 'dran' ist. Ich hatte 254, 'dran' war die Nummer 170.

Geöffnete Schalter: Einer von dreien.

Begeisterung brach aus.

Ich stoppte also zunächst mal die Zeit für die nächsten zehn Nummer - und die brauchten etwa 1 Minute im Schnitt.  Ich hatte also 10 Minuten gewartet und noch etwa 70 Minuten vor mir. Hurra. Also erstmal raus, Zeitung kaufen - damit was zu lesen da ist. Das dauerte nochmals 10 Minuten: Also noch 60 Minuten warten.

Doch dann legten die Damen hinter den Schaltern den Turbo rein - und öffneten auch die beiden anderen Schalter. Mit vereinten Kräften ging es dann (fast) dreimal so schnell und dauerte - 60 Minuten. :-(

Zum Glück hält das Ding nun wieder 10 Jahre.

 

Windows.Forms DesignMode-Flag: Wenig hilfreich

25. Juli 2005 19:19

Die 'Control' Klasse von Windows.Forms hat ein 'DesignMode'-Flag. Steht das auf true, dann befindet sich das Control im Designer, ansonsten nicht. Sollte man zumindest anhand des Namens und der Dokumentation annehmen - so ist das aber leider nicht. Das ist besonders dann extrem ärgerlich, wenn man selbst programmierte UserControls verwendet, denn die greifen nunmal gern auf Daten zu, die im DesignMode nicht unbedingt vorhanden sind. Also schaut man vor derartigem Code erstmal nach, ob DesignMode gesetzt ist - und ist das der Fall, lässt man die Sache eben bleiben.

Dummerweise: Das Flag ist nur gesetzt, wenn das direkte Parent des Controls im DesignMode ist. Sind einige Control ineinander verschachtelt, dann klappt das ganze nicht mehr, und man bekommt ein 'false' - auch dann, wenn sich das Control momentan im Forms-Editor befindet. Resultat: Absturz des Controls im Forms-Editor.

Um wirklich sicher zu gehen, ob man sich im Design-Mode befindet, müsste man rekursiv in der Control-Verschachtelung bis ganz nach oben gehen und nachsehen, ob eines der Parents im DesignMode ist. Das geht aber nicht, weil DesignMode 'Protected' ist. Suuuuper.

Statt dessen kann man aber auf die 'Site' schauen - das geht so:

    public static class ControlHelper
    {
        public static bool IsInDesignMode( Control control )
        {
            if( control.Parent != null )
            {
                if( control.Parent.Site != null )
                {
                    return true;
                }
                else
                {
                    return IsInDesignMode( control.Parent );
                }
            }

            return false;

        }
    }

An manchen Tagen passiert einfach das unerwartete

24. Juli 2005 13:03

Gestern war so ein Tag. So befand ich mich am Abend plötzlich in einem Auto auf dem Weg zu einem Konzert von Vanessa Mason, von der ich vorher noch nie im Leben was gehört hatte.

Mit im Auto: Meine alte Freundin Andrea, eine chinesischen Dame deren Namen ich nicht verstanden habe, sowie Udo Lindenberg. Das Konzert war dann zwar etwas mau, aber ansonsten wars ein lustiger Abend.

Die Chinesin wollte mich als IT-Sicherheitsberater beschäftigen. Geht natürlich nicht, ich baue nämlich lieber Statiksoftware wie bisher. Manchmal trifft man in München echt die verrücktesten Leute. :-)

Achso: Vom Rotwein in der Muffathalle kann ich nur abraten.

ISO Images unter Windows mounten

23. Juli 2005 16:48

Kommt bei mir öfter mal vor: Ich habe ein ISO-Image einer CD und will da kurz eine Datei rausholen - das brennen einer CD anhand des Images ist mir aber zu umständlich.

Muss man auch nicht: Man kann ein ISO-Abbild einfach als Laufwerk mounten und dann so darauf zugreifen, als wäre das ISO-Image ein Laufwerk. Dazu braucht man das kostenlose 'Virtual CD Control Panel'.

ASP .Net 1.1 und 2.0 gleichzeitig betreiben

22. Juli 2005 14:45

Wenn man den alten Code nicht gleich neu kompilieren kann oder will, und darum parallel zu einer bereits bestehenden ASP.Net 1.1 Codebasis auch ASP.Net 2.0 in einer Webseite verwenden will, dann ist das ein ganz klein bisschen hakelig. Es geht - aber man muss wissen was man tut...

Zunächst ist die Sache ganze einfach: Als erstes installiert man das .Net 2.0 Beta. Dabei werden die benötigten Einträge in der IIS Metabase ganz automatisch vorgenommen - man muss nichts weiter tun.

Dann legt man ein neues virtuelles Verzeichnis mit passenden Rechten an und kopiert die ASP 2 Website hinein. Jetzt wird es ein bisschen trickreich, denn man muss in den Eigenschaften des virtuellen Verzeichnisses auf dem ASP-Reiter einstellen, das dieses virtuelle Verzeichnis die 2er Version verwenden soll - ansonsten geht die Sache durch den 1.1er Stack, und das klappt natürlich nicht.

Das einstellen allein reicht aber nicht: Bei den Default-Einstellungen verhält es sich nämlich so, das alle Webanwendungen einer Domain von Haus aus im gleichen Prozess ausgeführt werden: Man kann aber nicht .Net 2 und .Net 1 gleichzeitig im gleichen Prozess ausführen.

Darum ist ein weiterer Schritt notwendig: Man legt einen neuen Application Pool an, und stellt dann unter den Eigenschaften für das virtuelle Verzeichnis ein, das die darin befindliche Anwendung in diesem neuen Pool ausgeführt werden soll: Dann gehts.

GMX mag uns nicht. Oder: Wieso die Lizenzen nicht kommen

22. Juli 2005 14:38

In letzter Zeit hatten wir verstärkt bemerkt, das die Lizenzen für die kostenlosen Studentenversionen unserer Statikprogramme, vor allem bei Personen mit eMail-Accounts bei GMX, irgendwie nicht so recht zu den Empfängern kamen. Daraufhin haben wir heute eine kleine Untersuchung gestartet, und siehe da: Die eMails mit den Lizenzen kamen sehr wohl bei den Empfängern an - wurden aber von GMX direkt in den Spam-Ordner verfrachtet. Und da fand sie natürlich niemand.

Grund dafür ist der bei GMX eingesetzte Anti-Spam Engine 'Spam Assassin'. Den setzen wir auf unserem Mail-Server übrigens unter anderem auch ein - allerdings wohl mit anderen Regeln als das bei GMX der Fall ist. Eine der Regeln bei GMX kommt wohl mit unserem Firmennamen nicht klar, und der stand im Titel dieser Mails: 'Ihre Lizenzen für die D.I.E. Programme'.

Das Kürzel 'D.I.E.' riecht dem Antispam-Tool wohl aus mir völlig schleierhaften Gründen nach Reklame - und schwupps, schon waren sie weg, die Mails.

Ab sofort versenden wir die Mails daher mit einem anderen Betreff - und mit diesem landen die Lizenzen nun auch wieder bei GMX sicher in der ganz normalen Inbox.

Wenn Sie unsere Software übrigens auch für die Uni oder eine sonstige Ausbildung kostenlos verwenden möchten: Hier gibts die notwendigen Informationen.

Unterhaltung fürs Wochenende

22. Juli 2005 08:57

.Net 2.0 - Wichtiger Unterschied bei der Implementierung von Collections

21. Juli 2005 18:43

Bei .Net vor der Version 2.0 gab es keine Generics: Wollte man ein Dictionary-Objekt (Hashtable, Map...), dann verwendete man dafür das ganz normale Hashtable-Objekt.

Bei .Net 2.0 gibt es nun die Generics, die unter anderem den großen Vorteil haben typensicher zu sein. Um eine Hashtable für 'string' auf 'object' anzulegen, geht man einfach wie folgt vor:

Dictionary<string,object> map = new Dictionary<string,object>;

Soweit - so gut. Auf eines muss man aber aufpassen: Die Implementierung von Lookups ist etwas anders als früher. Bisher konnte man in etwa das folgende verwenden:

Hashtable ht = new Hashtable();
ht[ "paul"] = new Person();

Wollte man dann später eine Person rausholen, so ging das wie folgt:

Person p = ht["paul"];
if( p != null) // .... dann hatte man die Person

Bei der Dictionary-Klasse ist das anders: Ist der Key nicht enthalten, dann wird der Zugriff über eckige Klammern eine Exception. Statt dessen gibt es aber eine alternative Funktion zum erfragen anhand des Keys.

Mondkarten: Say Cheeessssseee

20. Juli 2005 15:00

Vielleicht auch was für Statiker: moon.google.com. Tipp: Zoomen Sie auf jeden Fall einmal komplett rein...

Software-Tipp für Vielreisende

20. Juli 2005 08:40
Wer viel auf der Welt unterwegs ist und seinen Laptop dabei hat - oder auch, jeder mit Bekannten auf der ganzen Welt - wird dieses kleine Programm sehr hilfreich finden: Microsoft Time Zone. Läuft in der Taskleiste und zeigt auf Wunsch die aktuelle Uhrzeit an beliebigen Orten an. Kostenloser Donwload hier.

Mehr zu den Objekteinstellungen

19. Juli 2005 15:51

Ich hatte ja schon gestern etwas über die Objekteinstellungen im kommenden Faltwerksprogramm geschrieben. Heute ist mir aufgefallen, das ich ein paar wichtige Details vergessen habe. Und die stehen nun hier :-)

Eines der ärgerlicheren Dinge bei den bisherigen Programmen im Zusammenhang mit den Einstellungen für die einzelnen Objekte ist die Tatsache, das diese zu einer neuen Version hin nicht gerettet werden können. Hat man also seine eigenen 'perfekten' Einstellungen gefunden - dann sind die dummerweise verloren, sobald man ein Update installiert.

Das ist beim neuen Programm nicht länger der Fall: Die Einstellungen bleiben auch über Versionwechsel hinweg erhalten. Um genau zu sein - die Einstellungen sind sowohl vorwärts als auch rückwärtskompatibel: Selbst wenn Sie eine ältere Version des Programms benutzen und bereits Einstellungen mit einer neueren gemacht haben - die Werte bleiben erhalten.

Um wer ganz sicher gehen will, der kann diese Einstellungen dann auch mit ins Backup aufnehmen. Anders als bisher, wo diese Einstellungen in der Windows-Registry abgelegt wurden, befinden sich die Einstellungen nun in einer sepraten Datei, die einfach mit gesichert werden kann. Dabei ist es so, das jeder Benutzer-Account auf einem Rechner eine eigenen Datei bekommt: Es ist also auch möglich auf einem einzelnen System unterschiedliche Einstellungen für unterschiedliche Benutzer vorzunehmen. (Das ging allerdings auch schon früher...)

Besonders nett finde ich dabei die Tatsache, das diese Datei(en) - wie eigentlich fast alle - in einem von Menschen lesbaren Format vorliegen: Wer mag, kann darin also auch einfach mit einem Text-Editor herumeditieren. Das müssen Sie aber natürlich nicht tun, denn es gibt logischerweise eine Dialogbox, mit der man alle Einstellungen vornehmen kann.

Objekteinstellungen im Faltwerks-Programm

18. Juli 2005 16:40

Schon in Programmen wie dem Rahmenprogramm oder dem Plattenprogramm können Sie ja für jedes Objekt-Art eine ganze Menge an Darstellungsparametern einstellen. Dazu gehört zum Beispiel die Farbe, die Strichstärke, usw.

Das wird sich auch im kommenden Programm nicht ändern, es gibt allerdings eine Erweiterung: Sie können diese Einstellungen dort zum einen für die Objektart (also Knoten, Balken, ...) oder aber für ein einzelnes Objekt vornehmen. Das geht so ähnlich, wie die Zuweisung eines Materials an einen Balken - die Darstellungsparameter sind also eine Eigenschaft des Objektes. Wenn Sie keine Darstellungsparameter definieren, dann werden die 'Vorgabe'-Parameter verwendet.

Wenn Sie diese Vorgabwerte ändern, dann ändern sich einfach alle Elemente mit - es sei denn, Sie haben für ein einzelnes Element einen anderen Satz an Parametern ausgewählt. Damit können Sie dann zum Beispiel Gruppen von Elementen unsichtbar machen, oder aber bestimmte Stockwerke oder Bauelemente farblich markieren.

MSN Toolbar jetzt auch in deutsch

16. Juli 2005 10:25
Das wirklich gute an dem Ding ist die Desktop-Suche. Wer häufiger nach Dateien sucht, der sollte das auf jeden Fall ausprobieren... Klick

Update fürs Outlooks Junkmail Filter

15. Juli 2005 11:16

Wenn Sie Outlook (das aus Office, nicht Outlook Express) zum lesen von eMails verwenden ist das interessant: Es gibt seit ein paar Tagen ein Update für den Junkmail-Filter. Nachdem sich die Spammer immer wieder was neues einfallen lassen, macht es Sinn, auch den Spam-Filter immer wieder mal zu erneuern. (Der Spam-Filter auf unserem Mail-Server wird beispielsweise täglich erneuert.)

Das Update gibts hier.

Übrigens: Wenn Sie das neue Microsoft-Update verwenden, dann wurde das Update vermutlich schon installiert. Die neu Version von Microsoft-Update installiert nämlich auch Updates für Office 2003, nicht nur solche für Windows selbst. 

Unterhaltung fürs Wochenende

15. Juli 2005 10:22
Diesmal: Das Wahl-Spiel mit Gerd und Ede. Stammt zwar eigentlich schon von der letzten Wahl, ist aber immer noch unterhaltsam.

Visual Studio 2005 Beta: Die ersten 5 Tage

14. Juli 2005 11:35

Seit einigen Tagen arbeiten wir nun zum Teil mit dem Beta 2 von Visual Studio 2005. Hier ein paar erste Eindrücke.

Die Compiler

Die Neuerungen in C#, hauptsächlich Generics und anonyme Methoden, funktionieren sehr schön. Angenehm damit zu arbeiten. Der C++ Compiler bietet eine neue Syntax für Managed Code: Noch nicht ausprobiert, da die alte weiter unterstützt wird. Dafür bemängelt der Compiler neue Dinge: Dabei gehts in erster Linie um mehr Konformität mit dem Standard. So werden nun beispielsweise die Scoping-Regeln bei for-Schleifen beachtet. Das kann man entweder kurz ändern (haben wir getan), oder man benutzt einen Schalter um das alte, dem Standard widersprechende, Verhalten zurückzuerlangen. Ein schönes neues Feature: Der C++ Compiler unterstützt nun OpenMP.

Soweit gab es nicht viele Überraschungen.

Die IDE

Sieht netter aus als früher, hat viel mehr Funktionen, etc. etc. Allerdings macht das Ding offenbar jede Mene Dinge in Hintergrund-Threads, und bei unserem großen Projekt führt das häufiger dazu, das die Sache so wirkt als hätte sie sich aufgehangen. Ich hoffe mal das ist eine Eigenschaft des Betas...

Viele Dinge die mich schon ewig ärgern werden das wohl auch weiterhin tun: Das 'Resolve Ambiguity' Fenster ist immer noch viel zu klein und lässt sich nicht vergrößern, gleiches gilt für den Konfiguration Manager und andere. Enttäuschend.

Ebenfalls enttäuschend: Der Forms-Designer. Der ist zwar von Haus aus viel besser als der alte - schon allein weil es deutlich bessere Möglichkeiten fürs Alignment von Controls gibt - aber kaum hatten wir das bemerkt gab es direkt den ersten Ärger: In einem Projekt lassen sich Forms einfach nicht mehr öffnen. Das kennt man schon von VS2003, nur ist die Meldung jetzt ein bisschen anders. Hilfreicher ist sie aber nicht - ich hoffe mal ich finde in Kürze raus woran das liegt.

Insgesamt ist aber alles deutlich behäbiger als beim Vorgänger: Kann am Beta liegen - und tut es hoffentlich auch: Es macht nicht besonders viel Freude wenn man erst 2 Minuten warten muss, nur um dann eine Meldung zu erhalten das der Designer die Form nicht öffnen kann.

Ebenso komisch: Die Builds. Irgendwie scheint jetzt immer alles gebaut zu werden, da habe ich noch keinen Weg dran vorbei gefunden. Dafür sind die Kompilierzeiten recht kurz - nur wenn alle Projekte abgeschlossen wurden, dann schraddelt das Studio zumindest bei mir nochmals knapp 2 Minuten auf der Festplatte rum... und reagiert während dieser Zeit auf gar nichts.

Revision Control

An Source Safe haben sich einige Dinge verändert, die sind aber größtenteils optischer Natur. Ein paar Dinge sind auch besser geworden - aber nicht richtig gut. So kann man beispielsweise nun endlich ein File das unter Source-Control liegt in der IDE umbenenen oder löschen. Nur: auf den anderen Workstations wird das dann als 'Neues File' markiert. Hoffe mal, das wird im fertigen Produkt auch noch besser. Die Verbindung zum Source-Safe per Internet haben wir noch nicht ausprobiert.

Der Debugger

Hier gibts jede Mege Verbesserungen: Man kommt wesentlich einfacher an die Daten aus Objekten - so einfach, das man fast auf das Watch-Window verzichten kann. Wirklich sehr gelungen.

Die Dokumentation

Hier merkt man doch noch sehr stark das es sich um ein Beta handelt: Andauernd fehlen Texte, sind nicht vollständig, oder beschreiben Dialoge die ganz anders aussehen als die beschriebenen. Es ist allerdings nicht so schlimm, das man gar nicht damit arbeiten könnte.

Das ganz allgemeine Verhalten

Insgesamt betrachtet - und von ein paar Aufhängern mal abgesehen - kann man schon ganz gut mit dem Beta arbeiten. Im Wesentlichen sehe ich nur die Performance-Probleme und die mit dem Forms-Editor als größeres Hinderniss: Ich hoffe mal das lässt sich in den nächsten paar Tagen klären...      

Update: Xrst, Xest

14. Juli 2005 10:16
Ab sofort ist ein neues Update für das räumliche und ebene Rahmenprogramm verfügbar. Diesmal geht es um die dort eingebaute Schubbemessung für Rundstützen im Rahmen der DIN 1045-1. Details wie immer im Update-Protokoll auf der Download-Seite.

Bjarne Stroustrup zur Zukunft von C++

11. Juli 2005 19:13
Von Bjarne gibt es einen neuen Artikel der im C/C++ Users Journal erschienen ist: The Design of C++0x. Im wesentlichen läuft es darauf hinaus: Er hätte gerne, das einige wenigen Kanten in der Sprache geglättet werden - echte Neuerungen sollen in der Standard Library untergebracht werden. Seit langer Zeit mal wieder ein wirklich interessanter Beitrag im C/C++ Users Journal.

Kalender

<<  Februar 2012  >>
MoDiMiDoFrSaSo
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar