Announcement

Collapse
No announcement yet.

Der Delphi 2005-Streichelzoo

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Der Delphi 2005-Streichelzoo

    <p>Auch wenn der Borländer <span class="contentSectionHeading">Anders Ohlsson
    bei der Ankündigung des Update#1 für Delphi 2005 den Spruch <i>&quot;</i></span><i>This
    update makes Delphi 2005 rock solid!</i><span class="contentSectionHeading"><i>&quot;</i>
    verkündet hat, bekommt Jedermann immer noch einiges Getier zu Gesicht. Das
    reicht von der <i>&quot;Ach ist das niedlich&quot;</i>-Macke bis hin zum alles
    verschlingenden Ungeheuer, das das eigene Projekt ins Nirvana schickt, weil es
    keinen Workaround gibt.</span></p>
    <p><span class="contentSectionHeading">Ich habe bisher im FORUM wiederholt auf
    die Bedeutung von gründlichen Funktions- und Last-Tests gleich am Anfang der
    Projektphase hingewiesen, um später keine bösen Überraschungen zu erleben.
    Nachdem ich im letzten Jahr mit dem Satz </span>&quot;Nun mal Butter bei die Fisch!&quot;
    von einem FORUM-Teilnehmer aufgefordert wurde, deutlicher zu werden, stelle ich
    einige Beispiele aus den verschiedenen Schweregraden vor. Eine vollständige
    Liste würde den Rahmen sprengen (Neugierige werden in Qualitity Central
    ausführlicher informiert).</p>

    Siehe folgende 6 Beiträge ...

    P.S: Das FORUM lebt von den Erfahrungen seiner Teilnehmer, falls Ihnen im Alltag ein anderes Getier vor die Flinte gelaufen ist, sollte die Beschreibung angehängt werden.

  • #2
    <p>Bug: Von einer Zeichenkette werden nur die ersten 4 Zeichen verwendet<br>
    Plattform: Delphi.NET (FCL)<br>
    Kategorie: <b>Show Stopper</b><br>
    Version: Delphi 2005 Architect (engl.) Update#1</p>
    <p>Die Klassen aus dem .NET Framework sowie der Großteil der im Umlauf
    befindlichen Assemblies wurden in der Sprache C# geschrieben. Daher ist es für
    Delphi.NET essentiell, mit C#-Assemblies problemlos zusammenzuarbeiten.</p>
    <p><b>Schritt 1: Delphi 2005 Update#1: Neues C# Class Library-Projekt</b></p>
    <p>Die folgende Mini-Class Library (ConstString.dll) veröffentlicht nur eine
    Zeichenkette über eine öffentlich sichtbare Membervariable:</p>
    <pre><b>using</b> System;
    <br>
    <b>namespace</b> ConstString
    {
    <b>public</b> <b>class</b> OSConstStr
    {
    <b>public</b> OSConstStr()
    {
    }
    <br>
    <b>public</b> <b>const</b> <b>string</b> sOS = <font color="#9933cc">&quot;OssiSoft&quot;</font>;
    }
    }</pre>
    <p>Die Class Library wird mit Delphi 2005 Update#1 zur Assembly ConstString.dll
    kompiliert. Da Delphi 2005 an dieser Stelle auf den originalen Microsoft-Kommandozeilen-Kompiler aus dem .NET Framework zurückgreift, wird die C#-Assembly fehlerfrei erstellt.</p>
    <p><b>Schritt 2: Delphi 2005 Update#2: Neue Delphi.NET Windows Forms Application</b></p>
    <p>- Projekt der gleichen Projektgruppe zuordnen <br>
    - <i>References | Add Reference... | Project References</i>: Assembly des C#
    Class Library-Projekts auswählen <br>
    - Namespace <b>ConstrString</b> der <b>uses</b>-Auflistung hinzufügen </p>
    <pre><b>uses</b>
    System.Drawing, System.Collections, System.ComponentModel,
    System.Windows.Forms, System.Data, <font color="#ff0000">ConstString</font>;</pre>
    <p>- String-Wert aus der C# Class Library auslesen: </p>
    <pre><b>procedure</b> TWinForm.Button1_Click(sender: System.<b>Object</b>; e: System.EventArgs);
    <b>var</b>
    sTemp : <b>String</b>;
    <b>begin</b>
    sTemp := OSConstStr.sOS;
    MessageBox.Show(sTemp);
    <b>end</b>;</pre>
    <p>- Erwartet: Die MessageBox zeigt die Zeichenkette &quot;OssiSoft&quot; an<br>
    - Delphi 2005-Ergebnis: Die MessageBox zeigt <b><font color="#ff0000">nur die
    ersten 4 Zeichen</font></b> der Zeichenkette an</p>
    <br>
    Eventuell ist das beabsichtigt, dass ich als Thüringer nur den Text "Ossi" zu Gesicht bekomme ;-)
    <br><br>
    <p><b>Schritt 3: Gegenprobe mit Visual Studio .NET 2003</b></p>
    <p>- Die MessageBox zeigt die Zeichenkette &quot;OssiSoft&quot; korrekt an</p>
    <p>Die angehängte Abbildung zeigt das Verhalten:</p>
    <p>P.S: Ein Beispiel für das Verstümmeln von Zahlen in Win32-Anwendungen habe
    ich im FORUM bereits vorgestellt. Es gibt für die Win32-Fans an dieser Stelle kein Grund zur Schadenfreude, auch das eigene Spielfeld ist betroffen ;-)</p&gt

    Comment


    • #3
      <p>Bug: Eine BDP.NET-Verbindung kann <b>keine</b> UNICODE-Zeichen aus der Datenbank
      auslesen<br>
      Plattform: .NET (BDP.NET)<br>
      Kategorie: <b>Show Stopper</b><br>
      Version: Delphi 2005 Architect (engl.) Update#1</p>
      <p><b>Schritt 1: Vorbereitung in der Datenbank (MS SQL Server 2000)</b></p>
      <pre><b>USE</b> tempdb
      <b>GO</b>

      <b>CREATE</b> <b>TABLE</b> D2005TEXT
      (
      recid <b>INTEGER</b> <b>NOT</b> <b>NULL</b> <b>IDENTITY</b> <b>PRIMARY</b> <b>KEY</b>,
      wert1 <b>VARCHAR</b>(19) <b>NOT</b> <b>NULL</b> <b>DEFAULT</b> <font color="#9933cc">'Umlaute: äöüß ÄÖÜ'</font>,
      wert2 <b>TEXT</b>
      )
      <b>GO</b>
      <b>INSERT</b> <b>INTO</b> D2005TEXT (wert2) <b>VALUES</b> (<font color="#9933cc">'Das ist ein Test.'</font>)
      <b>INSERT</b> <b>INTO</b> D2005TEXT (wert2) <b>VALUES</b> (<font color="#9933cc">'Das ist ein 2. Test: äöüß'</font>)
      <b>INSERT</b> <b>INTO</b> D2005TEXT (wert2) <b>VALUES</b> (<font color="#9933cc">'Das ist ein 3. Test: äöüß'</font>)
      <b>GO</b>
      <b>SELECT</b> * <b>FROM</b> D2005TEXT
      <b>GO</b>
      <br>
      <b>CREATE</b> <b>TABLE</b> D2005NTEXT
      (
      recid <b>INTEGER</b> <b>NOT</b> <b>NULL</b> <b>IDENTITY</b> <b>PRIMARY</b> <b>KEY</b>,
      wert1 NVARCHAR(19) <b>NOT</b> <b>NULL</b> <b>DEFAULT</b> N<font color="#9933cc">'Umlaute: äöüß ÄÖÜ'</font>,
      wert2 NTEXT
      )
      <b>GO</b>
      <b>INSERT</b> <b>INTO</b> D2005NTEXT (wert2) <b>VALUES</b> (N<font color="#9933cc">'Das ist ein Test.'</font>)
      <b>INSERT</b> <b>INTO</b> D2005NTEXT (wert2) <b>VALUES</b> (N<font color="#9933cc">'Das ist ein 2. Test: äöüß'</font>)
      <b>INSERT</b> <b>INTO</b> D2005NTEXT (wert2) <b>VALUES</b> (N<font color="#9933cc">'Das ist ein 3. Test: äöüß'</font>)
      <b>INSERT INTO</b> D2005NTEXT (wert1,wert2) <b>VALUES</b> (N<font color="#9933cc">'N'</font>, N<font color="#9933cc">'N'</font>)
      <b>GO</b>
      <b>SELECT</b> * <b>FROM</b> D2005NTEXT
      <b>GO</b>
      </pre>
      <p><b>Schritt 2: Anzeige im Data Explorer von Delphi 2005 Update#1:</b></p>
      <p>- Umlaute werden korrekt anzeigt <br>
      - <b><font color="#ff0000">Bug</font></b>: Unicode-Zeichen in der
      NVARCHAR-Spalte werden nicht angezeigt, sondern durch <b><font color="#FF0000">
      Fragezeichen</font></b> ersetzt <br>
      <b><font color="#ff0000">- Bug</font></b>: Zeichenkette (egal welcher Art) in
      der TEXT bzw. NTEXT-Spalte werden überhaupt nicht angezeigt </p>
      <p><b>Schritt 3: Delphi 2005 Update#1: Neues FCL-Projekt greift über BDP.NET auf
      die Tabellen zu</b></p>
      <p>- Anzeige im DataGrid (BdpConnection, BdpDataAdapter, DataSet, DataView,
      DataGrid)<br>
      - Umlaute werden korrekt anzeigt <br>
      - <b><font color="#ff0000">Bug</font></b>: Unicode-Zeichen in der
      NVARCHAR-Spalte werden nicht angezeigt, sondern durch <b><font color="#FF0000">
      Fragezeichen</font></b> ersetzt <br>
      <b><font color="#ff0000">- Bug</font></b>: Zeichenkette (egal welcher Art) in
      der TEXT bzw. NTEXT-Spalte werden überhaupt nicht angezeigt </p>
      <p><b>Schritt 4: Gegenprobe mit Visual Studio .NET 2003</b></p>
      <p>- Umlaute werden <b><font color="#008000">korrekt</font></b> anzeigt <br>
      - Unicode-Zeichen werden <b><font color="#008000">korrekt</font></b> angezeigt
      <br>
      - TEXT/NTEXT-Inhalt wird <b><font color="#008000">korrekt</font></b> angezeigt
      </p>
      <p>Siehe angehängte Abbildung</p>
      <p><b>Workaround: Auf BDP.NET verzichten, nur die originalen ADO.NET-Klassen aus
      dem .NET Framework nutzen</b></p>
      <p>&nbsp;</p&gt

      Comment


      • #4
        <p>Bug: Ein VCL-Projekt wird nur unvollständig zu einem VCL.NET-Projekt
        konvertiert<br>
        Plattform: Delphi.NET (VCL.NET)<br>
        Kategorie: <b>Nicht rechtzeitig fertig geworden</b><br>
        Version: Delphi 2005 Architect (engl.) Update#1</p>
        <b>Delphi 5/6/7-Projekt einer VCL-Anwendung öffnen und als VCL.NET-Projekt
        konvertieren lassen</b>
        <p>- Korrekt: Eintrag »DelphiDotNet.Personality« in der *.bdsproj-Datei <br>
        - <b><font color="#FF0000">Bug 1</font></b>: Das Icon ist verschwunden und muss
        neu zugewiesen werden <br>
        - <b><font color="#FF0000">Bug 2</font></b>: Delphi 2005 verwendet den
        Win32-Formulardesigner <br>
        - <b><font color="#FF0000">Bug 3</font></b>: Delphi 2005 verwendet die
        Win32-Komponenten in der Toolpalette <br>
        - <b><font color="#FF0000">Bug 4</font></b>: Das <b><font color="#000080">
        STAThread</font></b>-Attribut wurde der Projektdatei <font color="#ff0000"><b>
        nicht</b></font> hinzugefügt!<br>
        - Bug-Beispiel: <font color="#000080"><b><br>
        &nbsp;</b></font>a)<font color="#000080"><b> TRvProjekt</b></font>-Komponente
        (d.h. die &quot;alte&quot; Win32-Komponente) wird auf dem Formular abgelegt<br>
        &nbsp;b) Project | Build: Kompilerveto <b><font color="#ff0000">F1026 File not
        found: 'RpDefine.dcuil'</font></b> </p>
        <p><b>Workaround: Die fehlenden Schritte von Hand nachholen</b></p>
        <p>1. Projekt in Delphi 2005 schließen ohne zu speichern <br>
        2. Projekt neu öffnen <br>
        3. Project | View Source: <b><font color="#000080">STAThread</font></b>-Attribut
        von Hand nachtragen </p>
        <pre><b><font color="#ff0000">[STAThread]</font></b>
        <b>begin</b>
        Application.Initialize;
        Application.Title := <font color="#9933cc">'BorNews'</font>;
        Application.CreateForm(TFormMain, FormMain);
        Application.Run;
        <b>end</b>.</pre>
        <p>4. Projekt in Delphi 2005 schließen, dabei die Änderungen speichern <br>
        5. Im Windows-Explorer <b>von Hand</b> nachträglich die Dateiendung <b>
        <font color="#000080">*.dfm</font></b> der Datenmodule/Formulare in <b>
        <font color="#000080">*.nfm</font></b> ändern<br>
        6. Im Windows-Explorer <b>von Hand</b> nachträglich in den dazugehörenden
        pas-Dateien der Datenmodule/Formulare die Zeile $R *.<b><font color="#ff0000">d</font></b>fm
        in $R *.<b><font color="#008000">n</font></b>fm ändern.<br>
        7. Das Projekt erneut in Delphi 2005 öffnen: <br>
        8. Erst nach dieser manuellen Reparatur zeigt Delphi 2005 den VCL.NET-Designer
        sowie den VCL.NET-Inhalt der Tool Palette an</p>
        <p>Siehe angehängte Abbildung</p&gt

        Comment


        • #5
          <p>Bug: Die Resourcestring-Informationen werden mit &quot;Müll-Zeichen&quot; verfremdet<br>
          Plattform: Win32<br>
          Kategorie: <b>Schönheitsfehler</b><br>
          Version: Delphi 2005 Architect (engl.) Update#1</p>
          <p>Beispiel: <b><font color="#ff0000">Verstümmelte Anzeige von LegalCopyright,
          die mit jedem Speichern anwächst</font></b> </p>
          <p>Siehe angehängte Abbildung</p&gt

          Comment


          • #6
            <p>Bug: Kein Datenbankverbindungs-Pool für BDP.NET<br>
            Plattform: .NET (BDP.NET)<br>
            Kategorie: <b>Fehlende Funktionalität</b><br>
            Version: Delphi 2005 Architect (engl.) Update#1</p>
            <p>Bei allen zustandslosen Anwendungen (ASP.NET, XML Web Service, .NET Remoting,
            .NET Enterprise Services) ist es wichtig, dass eine Datenbankverbindung
            innerhalb jeder aufgerufenen Methode so schnell wie nur möglich aufgebaut werden
            kann. Die originalen ADO.NET-Verbindungsklassen aus dem .NET Framework stellen
            daher einen Pool zur Verfügung, die BDP.NET-Klassen jedoch nicht (einzige
            Ausnahme: BDP.NET greift auf den MS SQL Server via COM Interop auf den &quot;alten&quot;
            OLE DB-Provider zu, und OLE DB stellt einen eigenen Datenbankverbindungs-Pool
            zur Verfügung).</p>
            <p>Diese Funktion fehlt in den folgenden Versionen:</p>
            <p>- C#Builder 1.0 (BDS 1.0) <br>
            - Delphi 8 (BDS. 2.0) <br>
            - Delphi 8 Update#1 (BDS. 2.0) <br>
            - Delplhi 8 Update#2 (BDS. 2.0) <br>
            - Diamondback (BDS 3.0) <br>
            - Delphi 2005 (BDS 3.0) <br>
            - Delphi 2005 Update#1 (BDS 3.0) </p>
            <p>Ergebnis: Der Verbindungsaufbau ist mit BDP.NET um Größenordnungen langsamer
            als bei ADO.NET. Im Fall von ADO.NET ist nur der 1. Verbindungsaufbau messbar, alle nachfolgenden Aufrufe werden vom Pool bedient. Im Fall von BDP.NET wird der fehlende Pool zum Beispiel beim Zugriff auf den Borland InterBase 7.x deutlich bemerkbar.</p>
            <p><b>Workaround</b></p>
            <p>- Alternative A: Anstelle von BDP.NET die nativen ADO.NET-Komponenten aus dem
            .NET Framework nutzen <br>
            - Alternative B: Die Server-Hardware einige Nummern größer kaufen, um den
            langsamen Verbindungsaufbau zu kompensieren</p>
            <p>Siehe angehängte Abbildung</p&gt

            Comment


            • #7
              <p>Bug: Delphi.NET legt einen falschen PUBLIC KEY TOKEN&nbsp; im Manifest ab<br>
              Plattform: Delphi.NET <br>
              Kategorie: <b>Show Stopper</b><br>
              Version: Delphi 2005 Architect (engl.) Update#1</p>
              <p>Der Bug ist in den folgenden Versionen nachweisbar:</p>
              <p>- Delphi 8 (BDS 2.0) <br>
              - Delphi 8 Update#1 (BDS 2.0) <br>
              - Delphi 8 Update#2 (BDS 2.0) <br>
              - Diamondback (BDS 3.0) <br>
              - Delphi 2005&nbsp; (BDS 3.0) <br>
              - Delphi 2005 Update#1 (BDS 3.0) </p>
              <p><b>Bug reproduzieren</b></p>
              <p>1. Delphi.NET Package Projekt anlegen<br>
              2.&nbsp;Klasse für einen .NET Enterprise Service nachrüsten </p>
              <pre><b>unit</b> D8ESPackageObj;
              <br>
              <b>interface</b>
              <br>
              <b>uses</b>
              System.Reflection,
              System.EnterpriseServices,
              System.Runtime.InteropServices,
              System.Data,
              System.Data.SqlClient,
              System.Text.RegularExpressions;
              <br>
              <b>type</b>
              ID2005ESPerfPackageObj = <b>interface</b>
              <b>function</b> ObjVersion: Integer;
              <b>function</b> GetDataSetKunden(kunden_id: Integer): DataSet;
              <b>function</b> GetFirst500Kunden: DataSet;
              <b>function</b> ConnectionString(iMode: Integer): <b>String</b>;
              <b>end</b>;
              <br>
              [TransactionAttribute(TransactionOption.NotSupporte d),
              ConstructionEnabled(<b>Default</b>=<font color="#9933CC">'(local),tempdb,sa,sa'</font>),
              JustInTimeActivation(True),
              EventTrackingEnabled(True),
              DescriptionAttribute(<font color="#9933CC">'Delphi 2005 .NET Enterprise Services Package-Version'</font>),
              Guid(<font color="#9933CC">'20C89F4B-A61C-4828-B027-A8122E26C092'</font>),
              ClassInterface(ClassInterfaceType.None)]
              TD8ESPerfPackageObj = <b>class</b>(ServicedComponent, ID2005ESPerfPackageObj)
              <b>private</b>
              FConstructString: <b>String</b>;
              FCSADO : <b>String</b>;
              FCSADONET : <b>String</b>;
              FBDPNET : <b>String</b>;
              <b>protected</b>
              <b>procedure</b> Construct(constructString: <b>String</b>); <b>override</b>;
              <b>public</b>
              <b>function</b> ObjVersion: Integer;
              <b>function</b> GetDataSetKunden(kunden_id: Integer): DataSet;
              <b>function</b> GetFirst500Kunden: DataSet;
              <b>function</b> ConnectionString(iMode: Integer): <b>String</b>;
              <b>end</b>;
              <br>
              <b>implementation</b>
              <br>
              ...
              </pre>

              <p>3. Package-Assembly kompilieren<br>
              4. In der gleichen Projektgruppe einen FCL Windows Forms-Clientanwendung
              einrichten, den .NET Enterprise Service dort aufrufen<br>
              5. Projektgruppe kompilieren <br>
              6. Client starten: <b><font color="#FF0000">Exception &quot;The located assembly's
              manifest definition... does not match the assembly reference&quot;</font></b>. </p>
              <p><b>Ursache über das Microsoft-Tool <font color="#000080">Assembly Binding Log
              Viewer</font> suchen </b></p>
              <p>- FUSLOGVW.EXE starten <br>
              - Client-Programm starten -&gt; Exception -&gt; FUSLOGVW.EXE zeigt einen Eintrag an<br>
              - Doppelklick auf diesen Eintrag</p>
              <pre>...
              WRN: <b><font color="#ff0000">Comparing the assembly name resulted in the mismatch: PUBLIC KEY TOKEN</font></b>
              ERR: The assembly reference did not match the assembly definition found.
              ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.
              </pre>
              <p><b>Fehlersuche mit dem IL Disassembler (</b>ildasm
              D2005CltD8ESPerfPackage.exe)</p>
              <pre>.assembly extern D2005ESPerfPackage
              {
              .publickeytoken = (<b><font color="#ff0000">B8 1A 9F 0C 00 00 00 00</font></b> )
              .ver 2:0:0:0
              }</pre>
              <p><b>Gegenprobe: Delphi 2005-Package in einen VS.NET 2003 C#-Client einbinden</b></p><br>
              <p>VS.NET bindet den <b><font color="#008000">korrekten</font></b>
              publickeytoken-Wert in das Manifest ein und kann daher den Delphi 2005 .NET
              Enterprise Service problemlos aufrufen:</p>
              <pre>.assembly extern D2005ESPerfPackage
              {
              .publickeytoken = (<b><font color="#008000">8E 99 11 D5 B1 50 4E DD</font></b> ) // .....PN.
              .ver 2:0:0:0
              }</pre>
              Siehe angehängte Abbildun

              Comment


              • #8
                Lieber Andreas,
                vielen Dank für die ausführlichen Beispiele (ich glaube, ich war derjenige, der um "Butter bei die Fisch" gebeten hatte).
                Ich bin gewiss der Letzte, der nun fordert, mit fliegenden Fahnen die Seiten zu wechseln. Dafür habe ich zu lange und mit großer Zufriedenheit mit Delphi gearbeitet und zuviel Geld für Komponenten ausgegeben. Aber auch ich habe schon seit über einem Jahr Visual Studio auf meinem Rechner und mich bereits ganz leidlich eingearbeitet.

                Ich glaube aber auch, dass wir noch eine ganze Zeit weiter mit Delphi Win32-Anwendungen erstellen können. Also sollten wir jetzt nicht in operative Hektik verfallen und in Ruhe darauf warten, wie die Szene sich entwickelt. Ich fürchte aber auch, dass Delphi nicht mehr die Zukunft hat, die wir uns dafür wünschen würden. Auch eine Firma wie Borland kann es sich nicht dauerhaft erlauben, Entwickler vor den Kopf zu stoßen.

                Was den Punkt des Austestens von Funktionen betrifft, so sehe ich das etwas anders: es kann nicht die Aufgabe des Entwicklers sein, z.B. jede Stringfunktion oder mathematische Funktion vor der Verwendung zu testen. Ich muss mich darauf verlassen können, dass das, was von Borland an Funktionen mitgeliefert wird, auch funktioniert. Dafür sind professionelle Anwendungen einfach zu komplex. Für mich fallen die Beispiele, die hier gegeben wurden, unter die Rubrik "Qualitätssicherung", und von einem professionellen Tool, für das ich eine Menge Geld abliefern muss, verlange ich diese Qualitätssicherung, bevor(!) es auf die Menschheit losgelassen wird (übrigens bekommt das Microsoft mit Visual Studio ja auch ganz gut auf Reihe). Ansonsten gibt es genug Compiler etc., die ich kostenlos im Public Domain-Bereich bekommen kann

                Comment


                • #9
                  Hallo,

                  inzwischen sind im Internet sogar Videos aufgetaucht, die einige Macken auf humorvolle Art und Weise (insbesondere die Hintergrund-Musik ist treffend gewählt) vorstellen ;-)

                  a) <i>http://www.wiredred.com/d2005/package_errors.html</i>

                  b) <i>http://www.wiredred.com/d2005/cannot_resolve.html</i>

                  c) <i>http://www.wiredred.com/d2005/published_sets.html</i&gt

                  Comment


                  • #10
                    Hoffnung für Delphi 2005!

                    Wie bei c't nachzulesen, hat Borland die Übernahme der texanischen Consulting-Firma TeraQuest Metrics bekannt gegeben. TeraQuests Geschäftsschwerpunkt ist die Beratung von Unternehmen auf der Grundlage der Capability Maturity Model Integration (CMMI), einem Modell zur Verbesserung der Qualität von Produkt-Entwicklungsprozessen.

                    Bill Curtis, Mitbegründer und Chief Scientist von TeraQuest, soll bei Borland die neu geschaffene Position eines Chief Process Officer bekleiden.

                    Grund zum Jubeln: jetzt haben wir endlich einen Chief Process Officer (früher nannte man das "Senior Vice President for Something", zu Deutsch: "Frühstücksdirektor"), der sich endlich die Qualität von Delphi 2005 kümmert!!!! Kann man für die paar Euro, die es kostet, auch wirklich verlangen!

                    Comment


                    • #11
                      Ich wollte heute meinen beiden Kollegen denn ersten der drei Links von Adreas Kosch zeigen, aber der Server kennt die Seite nicht mehr. :-(

                      Zufall oder wurde da mit dem Zaunpfahl gewunken?

                      Gruß

                      Wolfgan

                      Comment


                      • #12
                        Bug hin, Bug her - bestimmte Dinge sollten einfach funktionieren. Auch für WIN32 !!

                        Die IBX-Komponenten funktionieren mit IBFB 1.5. Ausnahme in der IDE ist der Anweisungstexteditor für die SELECT Abfrage. Hier werden keine Feldnamen für die ausgewählte Tabelle angezeigt.

                        Auch verschwindet DELPHI bei der Ausführung einer DATASET-Abfrage im NICHTS. Dioes tritt ebenfalls bei dem ändern von Eigenschaften auf.

                        Bei dem einfügen von Komponenten werden diese irgendwo auf dem Formular plaziert - nur nocht an die Stelle wo der Mauszeiger hinzeigt.

                        Ich bin mit DELPHI immer zufrieden gewesen. Stabilität, einfache Bedienung und die Flexibilität sind die Stärken (gewesen ???).
                        Ich bin eigendlich nur enttäuscht

                        Comment


                        • #13
                          Hallo,

                          &gt;Auch verschwindet DELPHI bei der Ausführung einer DATASET-Abfrage im NICHTS.<br>
                          &gt;Dies tritt ebenfalls bei dem ändern von Eigenschaften auf.

                          dieser Effekt kann im Worst Case bei sehr vielen Operationen auftreten. Bei einem Stack-Überlauf wird der Prozess automatisch von Win32 entsorgt, so dass die IDE ohne jede Möglichkeit zur Gegenwehr sofort verschwindet. Die Installation vom Update#1 scheint die Häufigkeit dieses Problems zu erhöhen.

                          Wer neugierig ist und die auslösende Stelle ermitteln möchte, kann Delphi 2005 im visuellen Debugger (<i>Microsoft CLR Debugger</i>) aus dem .NET Framework SDK laufen lassen (<i>C:\Programme\Microsoft.NET\SDK\v1.1\GuiDebug\D bgCLR.exe</i>). Sobald es knallt, ist im besten Fall der Übeltäter zu sehen

                          Comment

                          Working...
                          X