|
|
Up |
  |
Author: Wolfgang LitzingerWolfgang Litzinger
Date: Sep 23, 2008 03:13
Ich verwende die folgende Procedur (in vielen verschiedenen Programmen), um
Daten auf die Platte zu schreiben.
Das funktioniert auch alles soweit bis auf ein Problem:
Ich halte mir gerne mit Totalcommander mit der Funktion "Dateien Vergleichen
nach Inhalt" die Ergebnisdatei offen und bekomme dann die Meldung "Dateien
haben sich geändert, neu vergleichen".
Das ist genau das, was ich will.
In manchen Programmen, kommt an der Stelle "SaveToFile" die
Meldung: "EFCreate Error, Datei kann nicht erstellt werden".
Ich konnte bisher kein System feststellen, wann "SaveToFile" klappt, obwohl
die Datei im Total Commander offen ist und wann nicht.
Wenn ich das "Vergleichen" Fester zumache kann ich immer scheichern, wenn
das "Vergleichen" Fenster geöffnet ist, dann kann ich mal speichern, mal
nicht.
Es ist auch egal, ob diese Datei mit dieser Funktion erzeugt worden ist oder
schon vorher auf der Platte war.
Hat jemand eine Idee, woran es liegt ob die Datei geschrieben werden kann
oder nicht?
|
| Show full article (1.43Kb) |
|
1 Comment |
|
  |
Author: Johannes PilsJohannes Pils
Date: Sep 22, 2008 13:17
Hallo Group,
ich habe in einem größeren Projekt ein seltsames Problem bei der Übergabe
von WideStrings an eine Prozedur entdeckt und zur Reproduktion folgendes
Minimalprojekt (Neues Projekt, ein Memo und zwei Buttons) erstellt:
procedure TForm1.Ausgabe(Txt1: WideString);
begin
Memo1.Lines.Add(Txt1);
end;
|
| Show full article (2.14Kb) |
|
8 Comments |
|
  |
Author: Stefan KoschkeStefan Koschke
Date: Sep 22, 2008 02:57
Hallo zusammen,
nach Umbau meines Projektes bekomme ich Warnungen W1044 wegen bedenklichen
Typumwandlungen WideString in PAnsiChar
Das passiert überall, wo Anwenderabfragen in folgender Form implementiert
sind:
if Application.MessageBox(pchar(_('Sie wollen alle Register löschen
?') ),
pchar(_('Sicherheitsabfrage') ),
MB_OKCANCEL) <> IDOK then exit;
Dabei dient der Aufruf der Funktion _(...) aus GnuGetText der Übersetzung,
das Ergebnis dieser Funktion ist ein Widestring.
Nun könnte ich ja bei den Compilermeldungen diese Warnung einfach
abschalten, lieber wäre mir aber meinen Code so zu verändern, daß die
Warnungen nicht mehr auftauchen.
Irgendwie fehlt mir hierzu aber der richtige Ansatz :-(
Vielen Dank für jegliche Tips
Ciao
Stefan
|
| |
|
17 Comments |
|
  |
Author: Raymond CzernyRaymond Czerny
Date: Sep 21, 2008 11:20
Hallo,
ich möchte aus der textuellen Sprachkennung die PrimaryLanguage-ID und SubLanguage-ID
ermitteln.
z.B.
'en_UK' -> LANG_ENGLISH, SUBLANG_ENGLISH_UK
'en_US' -> LANG_ENGLISH, SUBLANG_ENGLISH_US
'de_DE' -> LANG_GERMAN, SUBLANG_GERMAN
'de_CH' -> LANG_GERMAN, SUBLANG_GERMAN_SWISS
'en' -> LANG_ENGLISH, SUBLANG_DEFAULT
'de' -> LANG_GERMAN, SUBLANG_DEFAULT
gibt es dafür eine API-Funktion?
Gruß
Raymond
|
| |
|
no comments
|
|
  |
Author: Raymond CzernyRaymond Czerny
Date: Sep 19, 2008 13:23
Hallo NG,
zunächst ein Stückchen Code:
procedure TProject.AddFolder;
var node, subnode : TTntTreeNode;
begin
if Assigned( FTreeView ) then
begin
node := FTreeView.Selected;
subnode := FTreeView.Items.AddChild( node, 'Folder');
subnode.ImageIndex := 0;
subnode.SelectedIndex := 1;
node.Expand( true );
subnode.EditText;
end;
end;
Diese Funktion wird mit einem Eventhandler OnClick eines Buttons angetriggert.
Sie erzeugt einen neuen Knoten und schaltet in den Bearbeitungsmodus des Knotens um.
Vollendet man das Umbenennen mit Enter wird diese Funktion ein zweites mal durchlaufen
und eine 2. Knoten erzeugt ohne das dieser in den Bearbeitungsmodus wechselt.
|
| Show full article (0.79Kb) |
|
5 Comments |
|
  |
Author: Sebastian EnkelmannSebastian Enkelmann
Date: Sep 19, 2008 05:37
Hallo miteinander,
nach einer Weile Abstinenz arbeite ich nun wieder mit Delphi 5 weil's doch
am schönsten war. Hab auch gleich ein Problem bei dem Ihr mir vielleicht ein
paar Tips geben könnt.
Ich hab eine Datei in der verschiedene Objekte nacheinander gespeichert
sind. Es handelt sich um TLV Objekte deren Beschreibung mir vorliegt. Bei
den TLV Objekte steht das T für den Typ des Objekts, das L für die Länge des
Valuefelds und das V eben für den Value.
Irgendwie hab ich aber noch ein Brett vorm Kopf und weiß nicht wie ich
beginnen soll die Datei zu lesen.
Da steht dann zum Beispiel(hex):
Jedes Objekt hat als Typbeschreibung im Feld T 3 Bytes:
57 34 00
Das Feld Länge enthält L = 2 Bytes:
00 05
Das Feld Value enthält die Anzahl Bytes mit den Daten, in diesem Beispiel
eben 5 Bytes:
19 30 44 56 48
|
| Show full article (1.58Kb) |
|
6 Comments |
|
  |
Author: Stefan KoschkeStefan Koschke
Date: Sep 19, 2008 02:20
Hallo zusammen,
leider fiel mir kein besserer Betreff ein :-(
Folgendes Problem : Ich ändere Sourcecode aus D2007 mit einem externen Tool,
indem, wenn nicht vorhanden ein FormCreate deklariert und implementiert
wird.
Öffne ich das neue Projekt in der IDE, ist die PAS-Datei korrekt, nach
Erzeugen des Projekts haben die neuen Sourcezeilen auch blaue Punkte und im
Einzelschritt wied der "von außen" hinzugefügte Code auch korrekt
abgearbeitet.
Nun aber das zugehörige Problem : In den Events der Formulare gibt es keinen
Eintrag für das OnCreate, erst nachdem ich dort doppelt klicke wird das
FormCreate dort eingetragen!
Wo muß ich denn noch Ergänzungen machen damit dies nicht jedes mal manuell
gemacht werden muß?
Danke
Ciao
Stefan
|
| |
|
3 Comments |
|
  |
Author: Christian GudrianChristian Gudrian
Date: Sep 18, 2008 12:07
Hallo, zusammen!
Wir haben hier einen kleinen tragbaren Computer mit Touch Screen, für
den ich eine Oberfläche programmieren muss. Die Bedienung von dem Teil
erfolgt praktischerweise mit dem Zeigefinger.
Nun hat es sich gezeigt, dass die Standard-Controls für diese Art der
Bedienung in den meisten Fällen ungeeignet sind (zu klein). Außerdem
wirken die Oberflächen schnell altbacken. Aus diesem Grund spiele ich
mit dem Gedanken, einige Steuerelemente selbst zu zeichnen. Da das für
mich ziemliches Neuland ist, frage ich mich gegenwärtig folgende Dinge:
1. Wie erzeuge ich am praktischsten Farbverläufe? Bei Flächen
konstanter Größe könnte ich mir ein Bitmap zurecht zimmern
und das dann auf die Leinwand pinseln. Wie mache ich es bei
veränderlicher Größe? Alles selbst zeichnen? Oder gibt es
API-Funktionen für so etwas? GDI+?
2. Wie aufwändig ist es, Text mit einem "Sieht wie eingraviert aus"-
Effekt auszustatten? (Ich würde den Text jetzt zweimal leicht
versetzt mit unterschiedlichen Farben ausgeben, aber das ist
vermutlich etwas zu naiv.)
|
| Show full article (1.39Kb) |
|
16 Comments |
|
  |
Author: Paul SchmidtPaul Schmidt
Date: Sep 18, 2008 10:59
Hallo allerseits,
wovon ist es abhängig, dass wenn ich eine Action definiert
habe (ActionManager) und ich dieser Action auch einen ShortCut
verpasst habe, dass dieser ShortCut mit einem englischen Delphi
CTRL+xx heißt und mit einer deutschen Version STRG+xx ?
(... und so auch jeweils im onShowHint angezeigt wird)
Kann ich das manuell ändern (also "STRG" oder "CTRL")oder ist
es wirklich von der jeweils verwendeten Delphi-Version abhängig?
Gruß,
der Paule
|
| |
|
3 Comments |
|
  |
Author: Jens TönsingJens Tönsing
Date: Sep 18, 2008 02:46
Hallo,
ich habe hier einen Fehler, den ich nicht finde. Es ist einfach zum
verrückt werden.
Ich rufe ein Formular wie folgt auf:
frm := FormXX.Create;
// try
frm.fbCon := fbCon;
frm.fbConRss := fbCon;
frm.ShowDialog(self);
// Except on ex:Exception do
// begin
// ShowException(ex);
// end;
// end;
frm.Free;
Die Kommentare sind natürlich nur Testweise. Beim Ausführen dieses
Codeschnippsels wird irgendwo im Formular eine Exception geworfen. Wenn ich
dann auf "Anhalten" klicke, steht der Zeiger bei "frm.ShowDialog(self);"
|
| Show full article (0.74Kb) |
|
15 Comments |
|
|
|
|