| Typ/Viewer: RSS/ RSS-Reader | Aktualisiert: 10.02.2012 | Aufrufe: 1446 |
Kategorie: Computer, Technik > Delphi
Alle Informationen zum Thema Delphi aus einer Hand! Wir bieten dir hier tägliche Berichte rund um Delphi an. Viele Informationen von Profis und Experten, die dir Zeigen wie es richtig geht!
Nachrichten aus dem RSS-Feed: Alles zum Thema Delphi und das aus einer Hand
TAction GUI oder nicht GUI?(Tue, 17 Jan 2012 15:29:58 +0100) Hallo,mir ist die Trennung der Logik von der GUI wichtig.Nun frage ich mich ob TAction zu GUI gehrt oder nicht.Kontra:- ist selber nicht sichtbar.- ist in unit ActnList, welche auch sonst ein sichtbarenKomponenten hat.- Gut fuer automatisierten TestsPro- liegt meist auf Forum oder Datenmodul, wobei letzteauf fuer automatisierten Tests mit Application.CreateFormgeladen werden muss (oder?)- Gehrt zur VCLMeinungen dazu?Matthias
anwendungsfenster unten rechts ausrichten.(Sun, 15 Jan 2012 21:51:21 +0100) hallo ng.ich habe vom studium her noch einen sleeptimer, der den rechner nach30, 45 etc. minuten oder zu ner bestimmten zeit runterfaehrt. (um bsp.noch 30 min mp3 zu hoeren und den rechner nicht ausschalten zu muessen.)wie kann ich das anwendungsfenster denn immer unten rechts ausrichten,egal auf welchem rechner es laeuft. (muesste doch gehen oder muss ichmir dafuer erst die bildschirmeinstellungen holen und dann von obenlinks her berechnen.) alternative waere immer oben links.derzeit ist es bsp. auf meinem fest pc genau plaziert, auf dem lappiaber unterhalb der taskleiste und damit nicht anwaehlbar.danke fuer die hinweise. (und sorry fuer die frage. bin seit 4 jahrennur noch im vba unterwegs und delphi nicht mehr so maechtig...)
Delphi XE: Hilfe ist kaputt(Tue, 10 Jan 2012 12:01:21 +0100) Hallo,seit - ich weiszlig; nicht wann - geht meine Hilfe nicht mehr.Es kommt immer die Meldung:"Das Objekt wurde nicht richtig initialisiert."und dazu ein Stacktrace:[51866725]{htmlhelp2150.bpl} HTMLHelp2Viewer.NameSpaceExists (Line441, "HTMLHelp2Viewer.pas" + 5) + $D[51866ED0]{htmlhelp2150.bpl} HTMLHelp2Viewer.IsHelpInstalled (Line595, "HTMLHelp2Viewer.pas" + 2) + $10[518674AA]{htmlhelp2150.bpl}HTMLHelp2Viewer.THTMLHelp2Viewer.DisplayIndex (Line 722,"HTMLHelp2Viewer.pas" + 3) + $0[500F272B]{rtl150.bpl } HelpIntfs.THelpManager.ShowIndex (Line 814,"HelpIntfs.pas" + 20) + $18[51869D8E]{htmlhelp2150.bpl} HelpReg.THelpMenus.DoShowIndex (Line 148,"HelpReg.pas" + 2) + $9[500AED6F]{rtl150.bpl } Classes.TBasicAction.Execute (Line 12988,"Classes.pas" + 3) + $7[5026AA15]{vcl150.bpl } ActnList.TContainedAction.Execute (Line 448,"ActnList.pas" + 8) + $2C[5026B7F0]{vcl150.bpl } ActnList.TCustomAction.Execute (Line 1094,"ActnList.pas" + 7) + $8[500AEC33]{rtl150.bpl } Classes.TBasicActionLink.Execute (Line 12917,"Classes.pas" + 2) + $7[21773505]{vclactnband150.bpl}ActnMenus.TCustomActionMenuBar.ExecAction (Line 1071, "ActnMenus.pas"+ 6) + $D[21774D5C]{vclactnband150.bpl}ActnMenus.TCustomActionMenuBar.TrackMenu (Line 1837, "ActnMenus.pas" +19) + $15[21778386]{vclactnband150.bpl}ActnMenus.TCustomActionMainMenuBar.TrackMenu (Line 3574,"ActnMenus.pas" + 5) + $3[217730C9]{vclactnband150.bpl}ActnMenus.TCustomActionMenuBar.CMItemClicked (Line 950,"ActnMenus.pas" + 3) + $4[5027DF6C]{vcl150.bpl } Controls.TControl.WndProc (Line 7074,"Controls.pas" + 91) + $6[50282830]{vcl150.bpl } Controls.TWinControl.WndProc (Line 9831,"Controls.pas" + 144) + $6[21774E72]{vclactnband150.bpl} ActnMenus.TCustomActionMenuBar.WndProc(Line 1876, "ActnMenus.pas" + 25) + $4[50281ED0]{vcl150.bpl } Controls.TWinControl.MainWndProc (Line 9552,"Controls.pas" + 3) + $6[500AFA64]{rtl150.bpl } Classes.StdWndProc (Line 13491, "Classes.pas"+ 8) + $0[50278AA6]{vcl150.bpl } Controls.FindControl (Line 3378,"Controls.pas" + 6) + $9[50358AF7]{vcl150.bpl } Forms.TApplication.ProcessMessage (Line 9760,"Forms.pas" + 23) + $1[50358B3A]{vcl150.bpl } Forms.TApplication.HandleMessage (Line 9790,"Forms.pas" + 1) + $4[50358E65]{vcl150.bpl } Forms.TApplication.Run (Line 9927,"Forms.pas" + 26) + $3Ich habe schon eine Reparatur-Installation von MS Dexplorer machenlassen.Das aktuelle Hilfe-Update 3 ist auch schon mehrfach drueber installiertworden.Auch das Update1 von der Delphi-Version habe ich noch einmal drueberinstalliert.Ich finde im Netz auch nichts dazu.Danke fuer alle Hinweise und Tips.CiaoPeter Schuett
IFDEF fuer_Formulare/Objektinspektor?(Sun, 08 Jan 2012 09:40:52 +0100) Hallo,besteht eigentlich (in D7) irgendwie die Mglichkeit, bedingte Compilierungauch fuer Formulare zu verwenden? Also da je nach "Projekt/Optionen/Verzeich-nisse/Bedingungen/Definition" unterschiedliche Werte im Objektinspektorstehen?In konkreten Fall haette ich naemlich gern, da ein Datenmodul je nach Compiler-DEFINEs unterschiedliche Datenbanken (TIBDatabase) benutzt.Im Moment faellt mir da nur ein, AllowStreamedConnected im Objektinspektor vonTrue auf False zu aendern und im OnCreate-Ereignis des Datenmoduls folgendeszu machen:(*$IFDEF DINGS *)IBDatabase1.DatabaseName:='dings.de:datenbank';(*$ELSE *)IBDatabase1.DatabaseName:='bums.de:datenbank';(*%ENDIF)IBDatabase1.Connected:=True;(Sowas knnte man dann natuerlich auch fuer andere Dinge im Objektinspektorverwenden, wie z.B. unterschiedliche Button-Beschriftungen eines Formularso.ae.)Ist das der (einzig mgliche?) Weg, oder gibts da noch was eleganteres?Danke Gru Matthias.
OT: Problem mit Barcodeleser(Tue, 03 Jan 2012 15:54:22 +0100) Hallo,ich habe folgendes Problem: Ein billiger Barcodeleser (Birch) mitUSB-Anschluss emuliert eine PC-Tastatur. Bei einer bestehenden Softwarewurde jetzt der vorhandene Barcodeleser gegen einen neuen, baugleichenausgetauscht. Es funktioniert mit dem neuen Barcodeleser aber nicht.Wenn man jetzt beide Scanner im Editor testet, scheinen beide dieselbenZeichen zu senden.Mit dem Programm von der folgenden Seite sieht man einen Unterschied:http://delphiforfun.org/programs/utilities/KeyCodes.htmUnd zwar sendet der alte, funktionierende Barcodeleser ein '' #192vorweg. Warum dies jetzt im Editor nicht sichtbar ist, ist mirschleierhaft. Der neue Barcodeleser sendet nur die Ziffern + lt;crgt;lt;lfgt;.Wenn man jetzt anstelle des Barcodelesers eine USB-Tastatur anschlietund die Ziffern eines gueltigen Barcodes eingibt, funktioniert dasProgramm nicht korrekt. Gibt man vorher ein '' ein, funktioniert es.Leider kann ich das hier nicht direkt testen. Die obige Beschreibungergibt sich aus Experimenten, die mein Kunde auf telefonischeAnweisungen hin gemacht hat. Jedenfalls scheint es so zu sein, dass wirdas '' als Prefix brauchen (ohne '' fehlt dir was ;-) ).Das Handbuch des Scanners schweigt sich da aus. Einen Prefix-Characterkann ich da nicht direkt programmieren. Hat jemand eine Idee, wie ichdort zu meinem '' komme?Auf die bestehende Software bzw. den Quellcode habe ich keinen Zugriff.Das Programm wurde aber wohl in Visual C++ geschrieben-GruStefan DF9BI
nzelnen_Statuswerte.?(Tue, 03 Jan 2012 10:58:03 +0100) Hallo,erst mal ein gesundes neues jahr und schon neue Probleme:Ich bekomme beim Schreiben in eine Datenbank den im Betreff genanntenFehler.Die Ursache ist klar, beiquery.fieldbyname(cInhalt).AsString := x;ist x laenger als die in der DB vorgegebene Feldlaenge.Wie aber fange ich so etwas ab?mittryquery.edit;query.fieldbyname...query.post;exceptirgendwasend;wird dann der gleiche Laufzeitfehler in der aufrufenden Funktion gefeuert!Gibt es eine mir bisher unbekannte Funktion, welche nur die Menge Textin das Feld schreibt die vorgesehen ist und den Rest abschneidet odermu ich an jeder Stelle im Programm erst die verfuegbare Laenge ermittelnund den String manuell kuerzen?Das waeren ein paar Hundert Stellen, die mchte ich nicht unbedingt alleanpassen :-(Prinzipiell ist die Datenbank richtig voreingestellt, aber durchKommunikationsfehler knnen eben mal zu lange Strings entstehen.Wie gehe ich nun am besten vor?DankeCiaoStefan
ANN: VisualMM - Speicherallokation laufender Anwendungen verfolgen(Tue, 03 Jan 2012 10:57:42 +0100) In diesem Artikelhttp://mikejustin.wordpress.com/2012/01/02/visual-fastmm-monitoring-with-habari-client-for-activemq/ist ("als erster Meilenstein") ein Screenshot einer Delphi-basiertenWebanwendung zur berwachung von FastMM Speicherallokationen zu sehen.Um diese Statistiken zu erstellen, senden laufende Delphi Anwendungenregelmaeig einen "Schnappschuss" der FastMM- und regulaeren MemoryManager Daten an einen Server. Beliebige Auswertungsanwendungen knnendann Status und Trends aller Anwendungsinstanzen im Netz darstellen.Weiteres dann sobald die agile Entwicklung es erlaubt - Einedownloadbare Demo mit den Anwendungen folgt auch noch :)Gesundes und erfolgreiches 2012--Michael Justin
TIdTCPClient, Threads und try-except(Fri, 30 Dec 2011 14:36:23 +0100) Hallo,bisher brauchte ich weder try-except, noch Threads. Jetzt stehe ich hieraber vor einem Problem.Ich will Daten ueber einen TCP-Port mit "TIdTCPClient.readcurrentbuffer"einlesen.Wenn die Verbindung unterbrochen wird, haengt der Aufruf vonreadcurrentbuffer, es sei denn, ich setze timeout auf einen Wert gt; 0.Wir kann ich das vermeiden? Gibt es eine Mglichkeit vorher zu pruefen,ob die Verbindung steht?GruStefan
XML, XPath, Namespace (D2010)(Thu, 29 Dec 2011 13:57:03 +0100) Grueszlig;e euch!Ich kiefel hier an einem Problem mit XPath. Meine Dokumente haben Name=spaces und ich will in den Queries diese Namespaces (es ist immer nur ei=n einziger Namespace) nicht angeben muessen. Abgesehen davon, dass das =Rootelement so aussieht:lt;ClinicalDocument xmlnsD"urn:hl7-org:v3" xmlns:xsiD"http://www.w3=.org/2001/XMLSchema-instance"gt;Mach ich das hier:var xml : IXMLDocument;beginxml :D NewXmlDocument;xml.LoadFromFile('test.xml');oNodes :D SelectNodes(xml.DocumentElement, '/urn:hl7-org:v3:Clinica=lDocument');// SelectNodes aus http://delphi.about.com/od/vclusing/qt/delphi-sele=ct-xml-nodes-ixmlnodelist-selectnodes-xpath-xmldom.htm// oNodes iterieren, aber nicht mit nextSibling, das macht SelectNode=s nicht,// weil kein Parent da ist, auch wenn es auf der Webseite so steht.end;krieg ichVerweis auf ein nicht deklariertes Namespace-Praefix: 'urn'Das hierxml.DocumentElement.DeclareNamespace('ns', 'urn:hl7-org:v3');hilft auch nichts.Die einzelnen Elemente im XML-File sind nicht qualifiziert. Meine Loesu=ng waere, einfach den Namespace zu entfernen. Aber ich hab keinen Weg g=efunden, das im DOM zu machen (nur mit StringReplace vorm Laden).Oder geht es anders?Stefan
Leerstring pruefen?(Tue, 27 Dec 2011 09:42:35 +0100) Hallo,ich stoe hier gerade auch eine Konstruktion a laLength(DingsString) gt; 0Ich persnlich schreibe in diesen Faellen eher:DingsStringlt;gt;''Was nehmt Ihr?Nun habe ich doch noch spasseshalber den Codebedarfgeprueft. Das Ergebnis hat mich dann doch erstaunt:Variante 1: 8 Assemblerzeilen (incl. Sprung)Variante 2: 2 Assemblerzeilen(D2007, lokale Variablen, ansistrings, incl. Zuweisung anBoolean, mit Optimierung)Abgesehen von der Codegre und Laufzeit gefaellt mir Varainte 2auch insofern besser, als dass bei laengeren Ausdruecken einKlammerpaar weniger bentigt wird und ich das uebersichtlicherfinde.Matthias
XE2 Installation unter Win7(Sat, 24 Dec 2011 13:16:13 +0100) Frohe Weihnachten,wie ich erschreckt feststellen musste,ist mein "XE2 Pro" und "Win7 Pro" garnicht richtig installiert.Es gibt fehlerhafte "Bibliotheks- und Such-Pfade".Ich habe sowohl XE2 als auch die Tools mit Ihren Default Einstellungeninstaliert.Ist Euch irgendwas bekannt, das das auf diesem Wege nicht klappen sollte?MfGHeiko
XE2: DBGrid drucken(Fri, 23 Dec 2011 16:15:03 +0100) Moin,bevor ich jetzt x Codeschnippsel aus dem Netz probiere hier mal eine Frage:"Welches ist unter XE2 der einfachste Weg, den Inhalt eines DBGrid aufPapier zu bringen (ohne Abschreiben)?Frohes Fest und Guten Rutsch wuenschtHeiko
Delphi 2007 und FastMM(Fri, 23 Dec 2011 14:57:36 +0100) Hallo,mit der neuesten Version von FassMM4 habe ich so meine Probleme.Auch bei einem vollkommen leeren Projekt, also nur ein Form ohneKomponenten, meldet FastMM direkt beim Starten das es sich nichtinstallieren knnte, weil schon Speicher angefordert wurde. FastMM4 istdie erste Unit im .pdr. MadExcept ist auch nicht eingebunden. Google hatda auch nicht viel gefunden.Kennt das jemand und kann mir da Tips geben? Ansonsten muss ich wiederauf die aeltere Version zurueck.Den selben Effekt hatte ich auch bei XE2, das habe ich aber noch nichtweiter verfolgt.--Stefan Graf
Forum(Fri, 23 Dec 2011 11:17:11 +0100) Hallo,funktioniert bei euch der Newsserver forums.embarcadero.com? Kann michseit gestern nicht mehr anmelden.cu--
nkung)?(Fri, 23 Dec 2011 11:14:12 +0100) Grueszlig;e!wenn ich via SQL einen zu langen Text in ein Datenbankfeld schreibe (=SQL Express), das mit VARCHAR(10) begrenzt ist, erhalte ich eine Excepti=on. Wenn ich dasselbe via ADODataSet mit Append/FieldByName/Post mache, =nicht. Kann ich das irgendwie erzwingen?Stefan
Overbyte ICS FTP-Komponente(Thu, 22 Dec 2011 14:20:58 +0100) Hallo,ich habe nach langem Studium der Beispielanwendung zur FTP-Komponentevon ICS einen asynchronen Serverzugriff auf den bei mir auf dem gleichenRechner befindlichen Filezilla-FTP-Server hinbekommen.Mir fehlen warscheinlich Netzwerk-Grundkenntnisse, aber warum ist alsPort-Angabe "ftp" im Beispiel?Als Zugangsparameter haette ich nun "127.0.0.1" mit Port "21" erwartet?Was bedeutet Port "ftp" bzw. wie bekomme ich da eine "richtige"Portnummer rein?CiaoStefan
EIdConnClosedGracefully und madExcept(Wed, 21 Dec 2011 18:53:08 +0100) Hallo,ich habe hier einen (D7prof-)WebService-Server mit Indy laufen (problemlosseit vielen Jahren); seit neuestem kommt aber anscheinend ein Client aufdie Idee, die Verbindung vorzeitig zu beenden, so da es dann jedesmaleine EIdConnClosedGracefully-Exception gibt. Hab schon gegooglet, istfuer Server im Prinzip ganz normal und kein Problem - kommt halt vor,wenn der Client einfach "einhaengt".Da ich aus Sicherheitsgruenden madExcept gesagt habe, da es bei jedernicht abgefangenen Exception den Server neu starten soll, wollte ich*diese* Exception jetzt wie ueblich mit try/except abfangen; das scheintaber nicht zu funktionieren. Mu ich die in madExcept nochmal explizitmit "ignore" oder so eintragen?Der madExcept-Call-Stack lautet:thread $668 (TWWWThread):0057b6e1 +0a9 WebServices.exe IdTCPConnection TIdTCPConnection.CheckForDisconnect0057c40d +03d WebServices.exe IdTCPConnection TIdTCPConnection.WriteBuffer0057c3c5 +019 WebServices.exe IdTCPConnection TIdTCPConnection.Write0057c777 +02f WebServices.exe IdTCPConnection TIdTCPConnection.WriteLn00587f9f +0eb WebServices.exe IdCustomHTTPServer TIdHTTPResponseInfo.WriteHeader005889c2 +00e WebServices.exe IndyHTTP 309 +6 TWebResponseIndy.SendResponse005ec11c +194 WebServices.exe WebReq TWebRequestHandler.HandleRequest0062dde2 +12a WebServices.exe IndyApp 143 +37 TIndyApplication.CommonCommandGet0062e1c5 +025 WebServices.exe IndyApp 197 +1 TIndyApplication.CommandGet0058655a +01a WebServices.exe IdCustomHTTPServer TIdCustomHTTPServer.DoCommandGet00586cbe +5de WebServices.exe IdCustomHTTPServer TIdCustomHTTPServer.DoExecute0057ff0c +04c WebServices.exe IdTCPServer TIdPeerThread.Run0057d57e +0a2 WebServices.exe IdThread TIdThread.Execute0062c3d9 +071 WebServices.exe WWWThread 32 +7 TWWWThread.Execute[...]Man sieht also schn, da die Exception in der Pruefung auf "Disconnect"geworfen wird. Ist ja auch OK so. Dann kommt das nach oben durch, undum "HandleRequest" herum habe ich das hier gemacht:try{Done:= immer TRUE} HandleRequest(Request, Response)excepton E: Exception do beginFMemoLine:='*** Exception: '+E.Message+' ***';AThread.Synchronize(PutMemoLine)endend;Eigentlich haette ich jetzt erwartet, da ich bei Exceptions unterhalb vonHandleRequest die Message der Exception in mein Memo auf dem Bildschirmgeschrieben haette bekommen haben muessen. Es passiert aber nach wie vor dasgleiche wie ohne try/except: madExcept schickt einen bug report und startetdas Programm neu.Mu ich EIdConnClosedGracefully in den madExcept-Filter eintragen? Ich habemadExcept bisher so interpretiert, da es sich nur um *nicht* abgefangeneExceptions (mit try/except) kuemmert (und anderswo ist das auch so). Oderwelches Brett hab ich vorm Kopf?Danke Gru Matthias.
Indy FTP verbinden(Mon, 19 Dec 2011 11:14:43 +0100) Hallo, zum Laden von Dateien verwende ich die Indy-FTP-Komponente.Solange der FTP-Server erreichbar ist, funktioniert das alles bestens,das Programm verbindet sich zyklisch mit dem Server, hold Files ab wennvorhanden und wartet dann bis zum naechsten Abholen.Ist der Server allerdings nicht erreichbar (oder man gibt eine falscheIP-Adresse an) dann haengt das Programm fuer ca. 10 sec beim IdFTP1.Connect;Habe ich da eine Einstellung uebersehen da die das im Hintergrund macht?in AfterClientLogin reagiere ich dann auf den Loginvorgang...CiaoStefan
Speicherprobleme / Monitoring der FastMM4 lcke(Sun, 18 Dec 2011 19:37:45 +0100) Hallo,Angeregt durch den Thread "Speicherproblem" habe ich begonnen, auf Basisdes Usage Tracker eine laufende berwachung der FastMM Speicherbelegungzu ermglichen.Ein Datensatz wird dabei z.B. beim ersten Sample so aussehen8(4) 0 0 0 N/A16(12) 8 (+8) 96 (+96) 29488 (+29488) 0,33%24(20) 83 (+83) 1660 (+1660) 29488 (+29488) 5,63%32(28) 24 (+24) 672 (+672) 29488 (+29488) 2,28%und das zweite Sample dann (mit +/-Veraenderungen zum vorigen Sample):8(4) 0 0 0 N/A16(12) 8 96 29488 0,33%24(20) 214 (+131) 4280 (+2620) 29488 14,51%32(28) 65 (+41) 1820 (+1148) 29488 6,17%Nun muss ich diese Samples nur noch grafisch aufbereiten.Ein erstes Demo habe ich als Indy HTTP Server Anwendung erstellt, dasper Web-Browser den Speicherstatus des Servers abrufen kann.Fuer den ernsthaften Einsatz in bestehenden Delphi Anwendungen stelle ichmir eine Lsung ueber einen UDP Versand der Samples an einenMonitoringserver vor.Eine existierende Delphi Anwendung braucht dann nur um eine Zeile Codeergaenzt zu werden um einen Thread zu starten, der dann z.B. jede Sekundeein Sample erfasst.begin// startet FastMM4 usage data logging (Stop ueber finalization)FastMMSampler.Start;// ... restlicher Startup-Code...Application.Run;end.Vom Monitoring Server wird dann eine HTTP / JavaScript (Ajax) Oberflaechezur Anzeige von Speicherbelegungsdiagrammen angeboten.(Noch einen Schritt weiter gedacht, knnten die Anwendungen die Samplesdann auch auf einen Internet - Webservice senden, so dass "externe"Installationen der Anwendung unterstuetzt werden)Viele Gruee--Michael Justin
Speicherprobleme / Monitoring der FastMM4 lcke(Sun, 18 Dec 2011 19:30:31 +0100) Hallo,Angeregt durch den Thread "Speicherproblem" habe ich einen Bersuchgestartet, den FastMM Usage Tracker zur laufenden berwachung einerAnwendung "umzustricken".Ein Datensatz wird dabei z.B. beim ersten Sample so aussehen8(4) 0 0 0 N/A16(12) 8 (+8) 96 (+96) 29488 (+29488) 0,33%24(20) 83 (+83) 1660 (+1660) 29488 (+29488) 5,63%32(28) 24 (+24) 672 (+672) 29488 (+29488) 2,28%und das zweite Sample dann (mit +/-Veraenderungen zum vorigen Sample):8(4) 0 0 0 N/A16(12) 8 96 29488 0,33%24(20) 214 (+131) 4280 (+2620) 29488 14,51%32(28) 65 (+41) 1820 (+1148) 29488 6,17%Nun muss ich diese Samples nur noch grafisch aufbereiten. Ein erstesDemo werde ich als Indy HTTP Server / JavaScript UI Anwendung bauen, sodass man mit einem Browser den Speicherstatus des Servers abrufen kann.Fuer den ernsthaften Einsatz in bestehenden Delphi Anwendungen stelle ichmir eine Lsung ueber einen UDP Versand der Samples an einenMonitoringserver vor.Eine existierende Delphi Anwendung braucht dann nur um eine Zeile Codeergaenzt zu werden um einen Thread zu starten, der dann z.B. jede Sekundeein Sample erfasst.begin// startet FastMM4 usage data logging (Stop ueber finalization)FastMMSampler.Start;// ... restlicher Startup-Code...Application.Run;end.In den Monitoring Server ist dann eine HTTP Oberflaeche integriert, mitden Speicherbelegungsdiagrammen.Viele Gruee--Michael Justin
DVD-Cover(Sun, 18 Dec 2011 08:36:43 +0100) Hallo,gibt es eine offizielle Download-Mglichkeit fuer DVD-Cover von DelphiProdukten?Ich habe meine Software fast immer als Download-Version erworben undmchte diese jetztin DVD-Huellen stecken.Ich suche entsprechende Cover fuer:- Delphi 6 Professional- Delph 7 R2 Pro- Delphi 2009 Pro- Delphi 2010 Pro- Delphi XE Pro- Delphi XE2 ProMfGHeiko
ELSTER ERiC(Thu, 15 Dec 2011 11:19:25 +0100) Hallo,derzeit habe ich Delphi 2007 und das Programm das ich anpassen sollverwendet eine tm98.dll. Der urspruengliche Softwareentwickler hat da malwohl eine "tmdef.h", "tm.h" und "tmrc.h" umgesetzt in eine "tm98.pas".Meines Wissen macht unsere Software nur die Umsatzsteuervoranmeldung.Ich habe eine Doku(ERiC-DTK.pdf und ERiC-DTK-Aenderungsdokumentation.pdf).Eine bloe Umsetzung auf "ericapi.dll" hat nicht geholfen.Eine Demo fuer Delphi habe ich auch nicht gefunden.Wie gehe ich am Besten vor? Ich mchte ja nicht alles neuentwickeln sondern "nur" auf die neue Version anpassen.(ERiC-15.2.10.50185)Matthias
Programm unter Win7x64 XP_(aber_in_VM_mit_XP_schon)?(Wed, 14 Dec 2011 18:59:02 +0100) Hallo,folgende Umgebung:Windows 7 x64 HP (alle Updates)Delphi6 PEzusaetzlich WinXP Pro in Virtueller Maschine (VMWare Player)Ein Programm unter Delphi6PE compiliert laeuft unter Windows 7 und auchin der VM.Auf einem anderen PC, der unter WindowsXP laeuft, passiert ueberhaupt nichts.Das Programm tut nix anderes (im Moment), als ein vorhandenesVerzeichnis zu lesen und den Inhalt nach bestimmten Kriteriendarzustellen. Alle erforderlichen Bibliotheken sind eingebunden bzw.vorhanden.Jemand eine Idee, wo ich ansetzen kann, um wenigstens zu einerFehlermeldung zu kommen? (den reinen XP-PC hab ich nur tagsueber im Zugriff).Danke schon mal im vorausGerd-Ulrich Meyer
RaveReports druckt nicht alle Daten(Wed, 14 Dec 2011 12:14:34 +0100) Hallo alle zusammen.Ich hab hier ein kurioses Problem ...Fuer verschiedene Auswertungen setzen wir RaveReports (BEX 5.1) undDelphi 7 ein.Es wird eine Datenselektion durchgefuehrt, die Daten werden aufbereitetund anschlieend kann der Benutzer sie drucken oder als PDF/RTF speichern.Bei diesem speziellen Report werden genau 864 Datensaetze selektiert,wobei ca. 5-8 Datensaetze je Seite dargestellt werden, also werden etwa150 Seiten erwartet. Sowohl Vorschau, als auch der erzeugte Reportliefert stets genau 87 Seiten, wenn eigentlich deutlich mehr dargestelltwerden sollten.Ich hab jetzt nochmal alles ueberprueft: Ereignisse im rav-Template etc.aber ich kann darfuer keine Erklaerung finden.Hat noch irgendjemand ne Idee woran das liegen knnte?Stephan
Speicherproblem(Wed, 14 Dec 2011 08:16:37 +0100) Hallo,ich wei nicht wie ich es beschreiben soll, nun also folgendes:Mein Programm soll ununterbrochen laufen, Daten von Megeraeteneinsammeln und in Access bzw. SQL-Datenbanken speichern.Sehe ich mir nun im Taskmanager den Speicherverbrauch an, so beginnt dasGanze bei ca. 25MB, aber nach 10 Stunden Laufzeit habe ich schon ueber 450MB!Ich bin mir recht sicher, da alles was da im Programmablauf erzeugtwird auch wieder zerstrt wird, es gibt bei Programmende auch keineMeldungen ueber Speicherlecks.Nun suche ich verzweifelt nach einer Mglichkeit, die Ursache / denbeltaeter dingfest zu machen.Hat jemand bitte eine Idee wo oder wie man da ansetzen kann?CiaoStefan
Pointer mitloggen(Fri, 09 Dec 2011 12:04:44 +0100) Hallo,ich wei, blder Betreff aber etwas besseres ist mir nicht eingefallen ;-)Bei meinen Absturzproblemen kristallisiert sich immer mehr eineFremd-DLL heraus.Das Procedere ist folgendes:Ich habe eine Funktion in der DLL welche mir einen Kommunikationswegffnet, Pseudocode:varkomm : Pointer;beginkomm := DLL_Kommunikation_Oeffnen;Diesen Pointer mu ich dann bei weiteren DLL-Aufrufen uebergeben:DLL_Set_Passwort(komm, 'Hallo');DLL_Set_Port(komm,'COM1');DLL_Connect(komm);...Verwende ich mehrere dieser Kommunikationsstrecken parallel, erzeuge icheben mehrere dieser komm's, belege die mit den Einstellungen und verbinde.Diese Pointer (komm) mchte ich nun mal protokollieren, also irgendwowegschreiben um zu sehen, was die DLL da macht.Meine vermutung ist, da die Pointer eigentlich immer die gleichen seinmuessen, kann das aber nicht sehen :-(Wie konvertiere ich einen Pointer (in der berwachung z.B. $EF2540) soda ich ihn in eine Tstrings legen kann?IntToStr geht nicht...CiaoStefan
Fehlersuche, aber wo?(Wed, 07 Dec 2011 14:32:12 +0100) Hallo,ich habe ein D2010 Programm im Rad-Studio zum Testen im Dauerbetrieblaufen, das laeuft auch schon seit Tagen durch.Nun pltzlich poppt eine Meldung auf:"ist eine Exception der Klasse EPrivilege mit der Meldung 'PrivilegierteAnweisung' aufgetreten."Hier bin ich nicht mehr weitergekommen, die Meldung kam immer wieder undMadExcept hat nichts ausgespuckt!Hat jemand eine Idee wo ich suchen knnte?Ich wei, die Angaben sind mehr als duerftig, doch ich stocher komlett imNebel, das Programm laeuft zur Zeit wieder im Dauerbetrieb...Ich kann also das Problem nicht reproduzieren, mag es aber eigentlichnicht so an Kunxden rausgeben ohne genau zu wissen, warum (und vielwichtiger wo) es geknallt hat :-(CiaoStefan
OnClick OnClose(Mon, 05 Dec 2011 22:03:12 +0100) Hallo,wie kann ich dem OnClick Ereignis eines dynamisch erstellten Menuitemsdie FormClose( Onclose) prozedur zuordnen?Also so in der Art:MeniItemExit.OnClick (Sender) :D Form1.close( ? ? );Ich komme da mit der Anzahl und Art der zu uebergebenden Objakte nichtklarKlaus
Uses aufraeumen?(Sat, 03 Dec 2011 09:27:27 +0100) Moin,der Uses Teil meines aktuellen Projektes sieht so aus:uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,Buttons, ComCtrls, ExtCtrls, DB, DBClient, DBCtrls, Mask,Messages, Variants, Dialogs, ExtDlgs, IWVCLBaseControl, IWBaseControl,IWBaseHTMLControl, IWControl, IWExtCtrls, Grids, DBGrids, FramesVorlage,Datenmodul, Menus, IWDBExtCtrls,Jpeg, System.IOUtils;Gibt es in XE2 oder extern, Tools die automatisch schauen, ob manwirklich etwas aus den gelisteten Units nutzt?Gru Heiko
FileCtrl Alternative(Fri, 02 Dec 2011 23:31:59 +0100) Moin,jetzt bin ich bei XE2 angekommen, mit dem man PlattformuebergreifendeProgramme erstellen kann, habe aber noch die Unit "FileCtrl" in den"Uses" stehen....Gibt es eigentlich eine Alternative, nicht an Windows gebundene, Unitoder muss man alles was braucht von Hand stricken?MfGHeiko
Dateien kopieren(Fri, 02 Dec 2011 10:24:52 +0100) Hallo,eine Datei soll (ohne CopyFile) kopiert werden. Folgendes ist aus meinerSicht zu tun:1. Daten kopieren2. Rechte kopieren3. Attribute kopieren4. Zeitstempel kopierenHabe ich etwas uebersehen?DankeThomas
xt?(Thu, 01 Dec 2011 14:41:29 +0100) Grueszlig;e!Ich hab eine Frage zum JvRichEdit: Zum Test eine nackte Applikation, =ein JvRichEdit draufgeklebt und einen Knopf, der mir ein RTF-File oder e=in anderes laedt. Der Unterschied in den beiden Dateien besteht darin, =dass in einem ein geschuetzter Textbereich zu finden ist.Das Problem ist dieses:1) "normalen" Text laden (einfach mit LoadFromFile), geht.2) File mit gesperrtem Text laden, geht.3) normales File laden, geht nicht - es bleibt das Dokument mit dem gesp=errten Text drinnen.EinClear;oder einReadOnly :D falseoder einSelectAll;SelAttributes.Protected :D false;haben keinen Einfluss, das RichEdit bleibt bis zu seiner Zerstoerung be=harrlich dabei, den Text mit gesperrten Elementen anzeigen zu wollen...Ideen?Stefan
ist die automatische Sommerzeitumsatellung in Windows aktiviert?(Thu, 01 Dec 2011 11:26:25 +0100) Ich bentige in einem Projekt die PC-Zeit um ausgelesene Daten einerZeitreihe zuzuordnen.Diese Zeitreihe ist immer in MEZ, somit hat jeder Tag 24h, auch dieSommer/Winterzeit-Umschalttage.Um die richtige Zeit zur Ablage der Daten zu bekommen, kann ich mitGetTimeZoneInformationerkennen, ob die gerade aktuelle PC-Zeit eine Sommerzeitangabe ist unddann eine Stunde rueckrechnen.Wie aber kann ich erkennen ob in Windows ueberhaupt die "AutomatischeSommerzeitumstellung" aktiviert wurde?Denn wenn der PC immer in Winterzeit laeuft funktioniert meine Bewertungder Daten ja nicht mehr korrekt so da ich bei Programmstart denAnwender ggf. darauf hinweisen mchte, da das umgestellt werden mu.Wenn in Windows keine automatische Sommerzeitumstellung eingestellt istaber die Zeit des PC's per Netzwerkserver / NTP gestellt wird, habe ichja keine Chance mehr, die Werte korrekt zuzuordnen, oder?DankeCiaoStefan
Case sensitive bei SQL funktioniert (manchmal) nicht!(Wed, 30 Nov 2011 13:07:33 +0100) Hallo zusammen,ich scheitere momentan am Verhalten des SQL-Servers 2008 bzw. amHandling dessen Datenbanken durch Delphi:Der SQL-Server ist CaseSensitive eingestellt, so daSelect TCPIPadresse from ...einen Fehler wirft, wenn das Feld in Wirklichkeit TCIPIAdresse heit,das ist auch in Ordnung.Nun mchte ich Funktionen einbauen, mit denen ich (aus Fehlern derVergangenheit, in Access war das egal) falsch geschriebene Feldnamenumbenennen kann.Dafuer mchte ich natuerlich abfragen ob das falsch geschriebene Feldexistiert:If Query.FindField('TCPIPadresse') lt;gt; Nil then...und genau hier funktioniert CaseSensitive nicht mehr, auch wenn schondas richtige TCPIPAdresse vorhanden ist, wird das Feld gefunden und dasnachfolgende Umbenennen geht in die Hose!Hat jemand einen Tip wie ich das trotzdem lsen kann?DankeCiaoStefan
Mein kompiliertes Programm wird seit dieser Woche als Virus erkannt!(Mon, 28 Nov 2011 15:50:07 +0100) Hallo,seit heute lscht mir Symantec meine frisch kompilierte EXE beim erstenStart, mit der Begruendung da "Bloodhound.Sonar.9" gefunden zu haben.Nun, ich knnte eine Ausnahmeregel erstellen, frage mich aber dann obdas nicht auch auf Rechnern von Kunden passieren kann?!Ich bin (eigentlich sehr) sicher da mein Programm sauber ist, doch wiegeht man nun vor?Kann man beim kompilieren etwas so "verstellen" da anderer Code entsteht?Welche bessere Lsung schlagt Ihr vor?CiaoStefan
Speicherverbrauch bei Insert-Statements(Sun, 27 Nov 2011 00:39:21 +0100) Hallo NG,ich fuege in eine Firebird-DB per TIBQuery-Objekt viele Datensaetze ueberprepared-Statements ein. Grob sieht der Code so aus:// Datenbankverbindung einrichtenIBConn := TIBDatabase.Create(nil);IBConn.DatabaseName := lt;Datenbankstringgt;;IBConn.Params.Add('user_name=' + lt;User_Namegt;);IBConn.Params.Add('password=' + lt;Passwordgt;);IBConn.LoginPrompt := false;IBConn.Open;// Query anlegenIBQuery := TIBQuery.Create (nil);IBQuery.Database := IBConn;IBQuery.CachedUpdates := False;IBQuery.DisableControls;IBQuery.SQL.Clear;IBQuery.SQL.Add ('INSERT INTO tabelle (ID, WERT) VALUES (:id, :wert)');// Und jetzt viele Werte schreibenfor i := 0 to 100000 do beginIBQUERY.ParamByName ('ID').AsInteger := i;IBQUERY.ParamByName ('WERt').AsInteger := i;IBQUERY.EXECSQL;end;IBQUERY.FREE;Das Problem ist nun, dass nach der Schleife der Speicherverbrauch desausfuehrenden Programms stark gestiegen ist (laut Taskmanager). DieSpeichernutzung geht auch nach dem Free nicht zurueck. Verwendet wird derFirebird-Embedded-Server 2.1.4 bzw. 2.5.Nach meinem bisherigen Verstaendnis sollte doch die Speichernutzunginnerhalb der Schleife einigermaen konstant bleiben oder zumindest nachder Schleife wieder freigegeben werden, oder?Handelt es sich hier um ein Speicherleck? Ist der Ansatz und dieErwartung mit "konstanter" Speicherauslastung innerhalb der Schleifefalsch oder ist die Datenbankverbindung oder die Query falsch konfiguriert?Das gleiche Verhalten zeigt sich auch, wenn statt TIBQuery TIBSQLverwendet wird.Hinweise oder weitere Hilfe waere hier sehr willkommen.Danke!Alexander
Embarcadero.com aus 1und1 Netz nicht erreichbar(Thu, 24 Nov 2011 16:09:25 +0100) Nachdem in den letzten Wochen die Downloadraten immergeringer wurden, ist heute schon seit einigen Stunden ueberhauptkeine Verbindung zu den EMBT-Servern aus dem 1und1 Netzmehr moeglich.Ein tracert liefert beim dritten Hop "Ziel nicht erreichbar".Ein Online-Traceroute z.B. bei http://ping.eu klappt einwandfrei.Wen das auch nervt, sollte sich bei 1und1 beschweren.Tel: 0721 96 00**kostenfrei aus dem 11 Netz, Festnetz- und Mobilfunkpreise0anderer Anbieter ggf. abweichend.--0Arno Garrels
Verwirrung bei threads(Thu, 24 Nov 2011 14:58:32 +0100) Servus schon wieder!Ich blick grad nich durch, aber das is ja nix neues.Also, ich habe:typeTRechenthread D class(TThread)privatea_t: mp_int;i_t,starti_t,endi_t:integer;f:textfile;threadarray:array of cardinal;protectedprocedure Execute; override;publicconstructor Create;virtual;proceduresetzwerte(pstarti_t:integer;pendi_t:integer;pthreadarray:array ofcardinal);virtual;end;procedureTRechenthread.setzwerte(pstarti_t:integer;pendi_t:integer;pthreadarray:arra=yof cardinal);var lauf_t:cardinal;beginstarti_t:Dpstarti_t;endi_t:Dpendi_t;setlength(threadarray,101);for lauf_t:D 0 to 101 do threadarray[lauf_t]:Dpthreadarray[lauf_t];end;procedure TRechenthread.Execute;var lauf_t2:cardinal;begin...for lauf_t2 :D 0 to length(threadarray)-1 dobegini_t:Dthreadarray[lauf_t2]; lt;----- EAccessViolation beim erstenDurchlauf...im Hauptprogramm wird...Rechenthread:DTRechenthread.Create;Rechenthread.setzwerte(starti,endi,threadarrays[1]);Rechenthread.resume;...aufgerufenthreadarrays[1] selbst ist ein dynamisches Array of cardinal, dessenLaenge auf 101 gesetzt wurde und mit Werten gefuelltpraktisch threadarrays D array of array of cardinalinnerhalb .setzwerte wird threadarray tatsaechlich als Kopie vonpthreadarray befuellt, die enthaltenen Werte stimmen ueberein(wieso zum Geier funktioniert threadarray:Dcopy(pthreadarray,0,101);nicht? -gt; "incompatible Typen" bei pthreadarray)innerhalb .execute kann ich auf starti_t und endi_t zugreifenjedoch ist threadarray innerhalb von .execute leer, also "()", obwohlich ja dies in setzwerte richtig gefuellt habeHabt ihr 'ne Idee?Grueszlig;e,Mike
nochmal Konsolen-Prgramme(Wed, 23 Nov 2011 19:11:31 +0100) ...weils so schoen istIch arbeite derzeit rein spassenshalber im Bereich Pi/Fermat/Fibonacci/usw.-Zahlenberechnungen mit reinen Konsolenanwendungen.Da die Berechnungen bei sehr groszlig;en (also das zig-fache von UInt64)doch schon etwas dauern koennen, baue ich das gerade zu multithreadedum.Gibt es eine moeglichkeit, pro Thread (Anzahl der Prozessorkerne-1) eineigenes Konsolenfenster zu erstellen?Dort soll jeweils ausschliesslich die Ausgabe des jeweiligen threadsrein. mehr nicht.Mit Free-/AllocConsole vergebe ich ja nur den Zugriff auf dasHauptfenster.Kann ich auch zusaetzliche Konsolenfenster erzeugen?Grueszlig;e,Mike.(WinXP 32 mit Turbo Delphi 2010)p.s. wieso zum Henker gibt es keine guenstigen Delphi-Versionen mehr?0500 fuer das einzige noch erhaeltliche (DelphiXE2 o.ae.) is 'n bisgenviel fuer 'nen armen Schlucker
Berlin: erfahrener Delphi-Entwickler sucht...(Wed, 23 Nov 2011 11:22:12 +0100) ...adaequate Herausforderung. Festanstellung (Berlin) oder Freelancer(bundesweit remote, Stundensatz abhaengig von Art und Umfang des Projektes).Mehrjaehrige Berufserfahrung (gt; 10 Jahre als Entwickler, weitere rund 8Jahre als kfm. Angestellter in der Immobilienbranche mit u.a.Zustaendigkeit fuer die interne Software-Entwicklung), umfangreicheProjekterfahrungen in verschiedenen Branchen (Logistik,Dokumentenmanagement, Verarbeitung von Finanzmarktdaten, VertriebImmobilienfonds etc.).Schwerpunkte: Delphi (Version 7 bis XE), C#, OOP, agile Vorgehensweise(XP, Scrum), Patterns, Refactoring, IoC, Framework-Entwicklung,Multithreading, Architektur, Clean-Code-Development, Unit-Testing, SVN,Datenbanken, Multi-Tier-Entwicklung (DataSnap, RemObjects, eigenesFramework).Neuem jederzeit aufgeschlossen ;)Anfragen bitte per Mail.Viele GrueeStefan Meisner
Konsoleneingabe(Mon, 21 Nov 2011 21:44:09 +0100) Hallo, bin bei einem kleinen Konsolenprogramm. Zur Eingabe wollte ich 'nealte Unit reinhaengen, aber Dos-Interrupts, Register oder auch ReadKeyscheint Delphi nicht mehr zu knnen. Frueher ging das mal so:function taste: word;var r : registers;beginr.ah:=0;intr($16,r); { in ah kommt der Scan-Code und in al das Zeichen }taste := r.ax;end;InLine-Assembler scheint noch zu gehen, aber dann gibt's Probleme, da dasinzwischen 32 Bit sind.Gibt's da was ... ?Gruee, Martin Schade
Probleme beim Laden von DLL - Funktion dynamisch(Mon, 21 Nov 2011 13:21:07 +0100) Ich lade die Funktion aus einer DLL so etwa:function DLL_Funktion( const publicKey: ansistring;const signatur: ansistring;ispa: boolean;const serverId: ansistring;secindex: uint32;status: uint64;scaler: int8;a: int64;ra: int64;rb: int64): boolean;varhDLL: THandle;theFunction: TDLLFunction2;buf: array [0 .. 144] of Char;beginresult := false;// das Handle zum DLL Modul ermitteln.hDLL := LoadLibrary(StrPCopy(buf, 'diesedll.dll'));// Wenn das Handle gueltig ist, versuche die Adresse der Funktion zuermittelnif hDLL lt;gt; 0 thenbegin// Adresse der Dll-Funktion ermittelntry@theFunction := GetProcAddress(hDLL, StrPCopy(buf,'@dllinternefunktion$qxpcuit1uiot1uiuiujcjjj'));// Wenn die Funktion gefunden wurde...if @theFunction lt;gt; nil thenresult := theFunction(Pansichar(publicKey),length(publicKey),Pansichar(signatur),length(signatur),ispa,Pansichar(serverId),length(serverId),secindex,status,scaler,a,ra,rb)elseshowmessage('DLL - Funktion nicht gefunden!');finally// Dll wieder freigeben.FreeLibrary(hDLL);end;endelseshowmessage('DLL kann nicht geffnet werden!');end;Das funktioniert bestens wenn ich dies ein paar Mal benutze.Wenn ich aber diese Funktion 2000 Mal hintereinander aufrufe knallt esmit Laufzeitfehler 203 an Adresse blablabla, MadExcept in meinem Projektspringt nicht an!Wo liegt der Fehler in obiger Funktion da es nach ca. 2000 maligemAufruf kracht?DankeCiaoStefan
und_DLL-bergabe?(Fri, 18 Nov 2011 13:09:26 +0100) Hallo,ich mu einer fremden DLL einen Ansistring und dessen Laenge uebergeben:Hierbei erwartet die DLL- Wert : Pansichar- Wertlen : integerAlso habe ich im Programm:varw : Ansistring;begin...w := #23#34#45#;dllfunktion(PAnsichar(w), length(w).....);Das funktioniert solange w kein #00 - Zeichen enthaelt :-(((In der Praxis kommen aber hier Werte vor die #$00#$15#$3B#$01#$88#$0Cergeben !Wie bekomme ich solch einen Ansistring uebergeben (rawbytestringfunktioniert genau so wenig :-(DankeCiaoStefan
Aufzaehlung_pruefen?(Thu, 17 Nov 2011 13:42:14 +0100) Hallo Welt,wie prueft man sinnvoll, ob ein Integerwert zu den "erlaubten" Werteneines Aufzaehlungstyps gehrt? Beispiel:typeTMyEnum = (VALUE_1 = 100, VALUE_2 = 113, VALUE_3 = 527);vari: Integer;e: TMyEnum;begini := 27;e := TMyEnum(i);...end;Die letzte Zuweisung wird (zumindest von D2007) klaglos akzeptiert,obwohl e danach einen "eigentlich" ungueltigen Wert hat.=gt; Wie kann man sowas vor der Zuweisung geeignet pruefen, um ggf. einenFehlerfall abzufangen?
Lizenzverwaltung(Thu, 17 Nov 2011 10:12:59 +0100) Hallo,fuer eine SW bentige ich eine "Lizenzverwaltung". Soll heien: 30 Tage Keys,Vollversion Keys usw.. Welche Konzepte gibt es dafuer(Delphi todo, Tools) ?DankeThomas
TDatetime runden?(Wed, 16 Nov 2011 15:08:43 +0100) Hallo,ich suche eine Funktion, die mir einen beliebigen Zeitpunkt in einerTDateTime-Variablen auf die glatte Viertelstunde rundet.also : 9:14:34 -gt; 9:15:008:31:23 -gt; 8:30:00mu ich das komplett in Sekunden umrechnen (decodetime) und neuzusammenbauen (encodetime) oder gibt es da was praktischeres fertiges?CiaoStefan
elphi)?(Sat, 12 Nov 2011 19:27:50 +0100) Es ist die erste Betaversion, die auf MacOS und FireMonkey laeuft.Es wurden nicht alle Units umgestellt und bisher wurde nur mitDelphi getestet, mit anderen Worten, es lohnt noch nicht, es mitC++ Builder zu versuchen.0Der Ordner \Delphi\PlatformDemos enthaelt einige FireMonkey undCross-Platform-Console-Projekte, die von ihren alten Windows-Beispielen abgeleitet wurden.Wichtig ist, dass Conditional-Define "FMX" in jedem FireMonkeyProjekt fuer alle Platformen gesetzt werden muss, andernfalls wuerdendie meisten der ICS-Komponenten nicht compilieren. 0Momentan koennen die ICS-Komponenten nur auf eine FireMonkey-Formgezogen werden, wenn eine der Windows-Platformen im Projekt Manageraktiv ist, andernfalls sind die Komponenten auf der Tool Palette0ausgegraut.Zur Zeit nur verfuegbar via svn:svn://svn.overbyte.be/ics/branches/icsipv6Beides, Bentzername und Password "ics"Feedback ist herzlich willkommen.Arno Garrels
XE2Pro: Aktueller Pfad(Sat, 12 Nov 2011 13:48:30 +0100) Moin,gibt es eine Mglichkeit, sich beim Debuggen anzeigen zu lassen, aufwelchen Pfad das System zur Zeit zugreifen will?Ich habe bei einer Anwendung den Verdacht, das bei einem Zugriff dieserauf den falschen Pfad erfolgt.MfGHeiko
Delphi XE2 HotFix 1(Fri, 11 Nov 2011 21:49:13 +0100) Moin,lt. Anleitung soll man Dateien im "include" -Verzeichnis ersetzen.Hmm, weder finde ich unter Windows 7 Pro das Verzeichnis, noch wird dieDatei die ersetzt werden gefunden.Wer kann helfen?Mu das "HotFix1" nach dem "Update 2" eigentlich installiert werde?MfGHeiko
Frame-Konzept mit Zirkulrer Unit-Referenz(Fri, 11 Nov 2011 13:42:13 +0100) hi Pro's,Hab vor kurzem erst Frames 'sehr lieb' gewonnen ;-)Nun hab ich ein VSTFrame (mit VirtualExplorerTree drauf) und einShellListFrame (mit VirtualStringTree drauf) erstellt.Die beiden sollen manchmal unabhaengig voneinander eingesetzt werden,aber meist natuerlich miteinander 'kommunizieren'.folgendes funzt natuerlich nicht (Fehler: Zirkulaerer Unit-Referenz)-----------------------unit VETFrameUnit;..uses.., SLFFrameUnit;typeTVETFrame = class(TFrame)..public..property SLFrame: TSLF read GetSLF write SetSLF;end;------------------unit SLFFrameUnit;..uses.., VETFrameUnit;typeTSLFFrame = class(TFrame)..public..property VTFrame: TVTF read GetVTF write SetVTF;end;--------------Tja, was nun :-(--Novak Christian
SSL Zertifikat: Geht, es sollte aber nicht(Fri, 11 Nov 2011 11:22:38 +0100) Grueszlig;euch!Mal ein Problem andersherum: Wir kommunizieren via SOAP mit einem Ser=ver. Die haben selbst ausgestellte Zertifikate, die wir mal im Internet =Explorer installiert haben. Jetzt stellen die um und wir programmieren i=n unser Programm einen moeglichst einfachen Mechanismus, diese Zertifik=ate zu installieren (CertOpenSystemStore und Freunde).Um das ganze zu testen hab ich alle Zertifikate entfernt (im MSIE und au=ch mit certmgr.msc).Wir haben zwei Versionen unseres Programmes: Eines mit Delphi 5 und eine=r DLL in D2005, die die SOAP-Anbindung erledigt. Diese Versin laeuft au=s. Und eine mit Delphi2010.Die D5-Version meldet sofort einen Zertifikatsfehler, wenn ich via SSL a=uf den Server zugreifen will.Die D2010-Version nicht. Sie kommuniziert munter via HTTPS mit dem Serve=r, sehe ich im Wireshark.Auch der MSIE verweigert das Zertifikat. Und so soll es auch sein.Wie kann das denn sein? Ja, und wir haben auch schon den Computer neu ge=startet. Das ganze ist auf WinXP und auf Win7 so. Irgendwas hab ich ueb=ersehen. Aber doch nicht, dass D2010 einen eigenen, zusaetzlichen Zerti=fikatsstore hat?Dankbar fuer Hinweise,Stefan
Liste von Dateitypen(Wed, 09 Nov 2011 13:45:04 +0100) Servus, ich schon wieder...Ich suche eine Moeglichkeit, alle in Windows (vielleicht auch user-spezifisch) registrierten Dateitypen in eine TFilterComboBoxeinzutragen.Bisher habe ich da manuell nur die standardmaeszlig;igen Eintraege (xls, txt=,doc, com, exe, bat, ...) drin.Fuer eine vernuenftige Dateisuche ein bisschen duerftig.Ich finde zwar ueberall Hinweise auf spezielle Sachen, z.B. wie maneigene Dateitypen registriert, aber die Basics werden wie immernirgends erklaert.Irgend eine Idee?Grueszlig;e,Mike
Float-Parameter mit ADOQuery auf MySQL(Wed, 09 Nov 2011 11:54:27 +0100) Hallo NG,ich habe gerade ein Problem mit einem Update einer MySQL-Tabelle. Ichverwende D2010 und TADOQuery.Folgenden SQL verwende ich fuer das Update:update tabelle setspalteD:SPALTEwhereidD:IDIm Programm verwende ich folgenden Code:varwert :double;...wert :D 0.25;with ADOQuery_Update dobeginParameters.ParamByName('SPALTE').Value :D wert;Parameters.ParamByName('ID').Value :D 1;ExecSQL;end;Der Parameter SPALTE hat DataType ftFloat. Im ExecSQL bekomme ich eineException mit der Meldung:'[MySQL][ODBC 5.1 Driver][mysqld-5.5.13]Incorrect decimal value:'0,25' for column 'Spalte' at row 1'.Ich habe schon versucht, DecimalSeparator auf '.' zu setzen, aber dashat nicht geholfen.Was kann ich tun? Warum werden die Parameter nicht als Doubleuebergeben, sondern in Text gewandelt?Muss ich die Parameter wirklich selbst als Text formatieren? Kann ichin den ADO-Einstellungen etwas drehen?Fragen ueber Fragen...Lothar Armbruester
Record mit Null-Terminierten Variablen(Wed, 09 Nov 2011 07:10:29 +0100) Moin,ich mchte mir ein Anzeigeprogramm fuer Daten eines anderen Programmeserstellen.Jetzt liegen die Datensaetze in einer Datei in folgendem Format vor:Wert 1: 2ByteWert 2: 2ByteWert 3: 2ByteWert 4: 4ByteWert 5: 4ByteBis hierher sehe ich noch kein Problem, aber jetzt:Wert 6 : unbekannte Laenge - Ende ist Hex 0Wert 7 : unbekannte Laenge - Ende ist Hex 0Wert 8 : unbekannte Laenge - Ende ist Hex 0Wert 9 : unbekannte Laenge - Ende ist Hex 0Wie definiere ich solche Variablen?Ich hatte bis jetzt noch nicht mit Null-Terminierten Strings/Variablenzu tun.Im WWW habe ich fuer Records nur "normale" Bespiele gefunden.MfGHeiko
D2010: TComboBox und OnChange Event.(Mon, 07 Nov 2011 13:50:15 +0100) Grueszlig;euch!Ich hab hier ein Formular, drinnen liegen etliche Controls und ein Fr=ame.Ich habe eine banale TComboBox mit einem OnChange-event auf dieses Formu=lar gepappt. Das OnChange-Event tut momentan nichts auszlig;er einem ShowMe=ssage.Leider triggert das Event nie, wenn ich programmgesteuert den Text verae=ndere. Manuelle Eingaben funktionieren.Was mach ich denn da schon wieder banales falsch?Stefan
Einzelnes Element einer TListBox neu zeichnen(Wed, 02 Nov 2011 18:18:49 +0100) HalloIch habe eine Listbox bei der ich die Elemente selbst zeichne (Style =LbOwnerDrawFixed).Jetzt wuerde ich gerne einen einzelen Eintrag neu zeichnen, wenn ich mitrefresh oder repaint alle neu zeichne flackert es so haelich.Dazu muesste ich ListboxDrawItem mit den Parqametern Control, Index und Rectaufrufen.Control ist kein Problem, Index auch nicht, aber wo bekomme ich das Recther?Gibt es eine Funktion, mit der ich aus dem Index das Rect bekomme?--Gruss Wolfgang
TMenuItem dynamisch mit variablem Formular(Wed, 02 Nov 2011 16:12:49 +0100) Hallo,kann mir jemand sagen wie ich einem Formular, das erst zur Laufzeitermittelt wird einige Menueeintraege hinzufuegen kann?Es gibt Typdeklarationen mehrerer Formulare, alle habe aber die folgendrei Eintraege:typeTfrmM0 D class(TForm) // TfrmM1,TfrmM2,........MMenu0: TMainMenu;mm1File: TMenuItem;mm1Tools: TMenuItem;....end;varFormClass: TFormClass;Form: TForm;NewItem: TMenuItem;beginNewItem :D TMenuItem.Create(frmM0.mm1Tools);NewItem.Caption :D 'Function';frmM0.mm1Tools.Add(NewItem);FormClass :D TfrmM0;Form :D FormClass.Create(Application);NewItem :D TMenuItem.Create(Form.mm1Tools);end;Beim Cbersetzen liefert die letzte Zeile die Fehlermeldung"Undefinierter Bezeichner: 'mm1Tools'"Wie kann/muss ich die Variable Form verwenden, um das selbe Ergebniszu erhalten wie bei Verwendung der Var. frmM0 ?Klaus
TWebbrowser, drucken an bestimmten Schacht(Fri, 28 Oct 2011 10:46:51 +0200) Grueszlig;euch!Wir haben dasselbe Problem, wie wohl viele andere vor uns auch schon,=hat vielleicht inzwischen jemand eine Loesung?Problem: Drucker mit mehreren Schaechten ist vorhanden. Einstellung im =Treiber ist automatische Papierzufuhr. Das Programm soll bestimmte Dinge=an bestimmte Schaechte drucken. Fuer unsere eigenen Dingehaben wir ei=ne SetPaperSource-routine, die via DeviceCapabilities mit DC_BINS abfrae=gt, was denn da ist und via GlobalLock/GlobalUnlock auf dem Druckerkonte=xt die dmDefaultSource umsetzt.Haesslich, geht aber.Wenn wir jetzt aber ein TWebbrowser-Objekt da haben, das via OLECMDID_PR=INT eine Webseite ausdrucken soll. Dort hilft es ueberhaupt nichts, vor=her mit SetPaperSource die Papierquelle zu setzen, der IE nimmt sich die=Seite immer aus dem automatischen Schacht. Der MSIE selbst merkt es sic=h uebrigens auch nicht, wenn ich ihn selbst aufmache und eine Seite an =einen bestimmten Schacht drucke. Nach einem Neustart steht er auch wiede=r auf automatisch.Es muss doch dafuer irgendeine Loesung geben. Ich verstehe vor allem n=icht so ganz, warum das programmatische SetPaperSource vor dem OLECMDID_=PRINT keinen Effekt hat.Ich kann nicht glauben, dass http://support.microsoft.com/kb/236777 imme=r noch Gueltigkeit hat:"Die einzigen Einstellungen, die geaendert werden koennen, sind Seit=enraender und Kopf-und Fuszlig;zeileninformationen. Es gibt keine unterstue=tzte Moeglichkeit um andere Einstellungen wie z. B. Seitenausrichtung o=der Drucker zu aendern."Also bin ich fuer beliebige Workarounds/Hacks dankbar. Uns fiele ein (o=hne konkreter Implementierungsidee):* In ein File umleiten lassen und irgendwie anders drucken* Andere HTML-Komponenten (RichView HTML Import scheitert bei den vorlie=genden HTML-Dateien)Andere Frage: Wenn ich SetPaperSource ausfuehre, ist im Systemdruckertr=eiberdialog immer noch "automatisch" ausgewaehlt. Und zwar bei den Stan=dardwerten und bei den Einstellungen im Allgemein-Tab. Warum dieses? Wen=n ich es schaffte, die echte Systemeinstellung zu aendern, haette ich =wahrscheinlich auch gewonnen...Hat irgendwer von euch Ideen?Danke und schoenes Wochenende,Stefan
Verbindung_anzeigen?(Mon, 24 Oct 2011 16:11:33 +0200) Moin,ich bin gerade etwas am verzweifeln: ich hatte es bisher fuer eine ganznormale Anforderung gehalten, dass ein Client, der von einem SQL-ServerDaten in einem Grid anzeigt, nur die Daten ueberhaupt laedt, die geradezur Anzeige gebraucht werden. Also erst nachlaedt, wenn manweiterscrollt, oder an eine andere Stelle springt.Das habe ich mit DBExpress und einem ClientDataSet nun auch zunaechsthinbekommen: mit dem Property PacketRecords. Nun werden die Dateninkrementell geladen und man sieht schon nach kuerzester Zeit das Ergebnis.Aber es ist dem Grid weder bekannt, wieviele Records es gibt, so dassdie Scrollbar das nicht darstellen kann, noch kann man springen. Wennich z.B. ans Ende springe, werden alle Daten bis dahin geladen. Da dasbei meinem Resultset aber Stunden dauern wuerde kommt das nicht in Frage.Andere Dinge, die mich stren, aber vielleicht hinnehmbar sind: beimWeiterscrollen wird nie wieder Speicher freigegeben, und die Query mussmindestens so lange geffnet bleiben, bis man am Ende angelangt ist.Um den Schwierigkeitsgrad noch zu erhhen, soll es eigentlich sogar dasDevExpress Quantum Grid sein. Das hat einen Gridmode, mit es sichzumindest schonmal wie ein normales Grid verhaelt und obiges auch genausofunktioniert. Aber wer das Grid nicht kennt, darf diesen Absatz erstmalignorieren :)Mir scheint, mit DBExpress ist das gar nicht lsbar, auer indem ich dasNachladen manuell mache und wirklich nur eine Query absetze, die dieDaten anfordert, die gerade zur Anzeige gebracht werden sollen. Und erstwenn der Benutzer dann weiterscrollt oder springt, werden wieder genaudiese Daten angefordert und anschlieend das Dataset geschlossen. Daserscheint mir aber sehr aufwaendig und mir ist auch unklar wie ich demGrid dabei beibringe, sich so zu verhalten, dass der Benutzer garnix vondem Aufwand merkt.Hat da jemand einen Vorschlag zu? Das ist doch eine ganz normaleAnforderung oder nicht?Habe ich das richtig in Erinnerung, dass das mit ADO irgendwie einfacherging? Sollte ich ADO statt DBExpress nehmen?Vielen Dank,--Moritz Franckensteinmailto:maf-soft@gmx.nethttp://www.maf-soft.de/icq: 22030984 y!: maf_soft
merkwuerdiger(?)_EOutofMemory_bei_Stringbearbeitung?(Fri, 21 Oct 2011 14:47:45 +0200) Hallo!Vielleicht koennt ihr mir helfen.ich habe die Procedureprocedure FindAllFiles (FileList: TStrings;RootFolder: string;Mask: string;Recurse: Boolean;AddFolderNames: Boolean;IgnoreMaskAtFolderNames: Boolean);varSR : TSearchRec;ListItem : TListItem;ret: DWORD;s: String;beginif RootFolder D '' then Exit;if AnsiLastChar(RootFolder)^ lt;gt; '\' then RootFolder:DRootfolder +'\';...die ich mitfindallfiles(dateiliste,suchliste_einfach[laenge_suchliste],mask,uverzeichnisse,true,true);(WertedateilisteD()suchliste_einfachD['D:','L:',R:']laenge_suchlisteD (ist ein index der durchlaufen wird)maskD'*'uverzeichnisseDtrue)aufrufe.Meistens funktioniert der Aufruf und es wird eine entsprechendeDateliste zurueckgegeben.In dem Fall, wo die Suchliste z.b. ['D:','L:','P:',R:'] war und ichvorher mitMove(suchliste_einfach[i + 1], suchliste_einfach[i],SizeOf(suchliste_einfach[0]) * (Length(suchliste_einfach) - i - 1)); //Dahinterliegende Daten aufrueckenlaenge:DLength(suchliste_einfach);SetLength(suchliste_einfach, laenge - 1);dec(anzahl);das Element an Position 2 (also 'P:') geloescht habe, wird beim Aufruffindallfiles(dateiliste,suchliste_einfach[2],mask,uverzeichnisse,true,true);in der Procedure findallfiles an der oben gezeigten Positionif AnsiLastChar(RootFolder)^ lt;gt; '\' then RootFolder:DRootfolder +'\'; ein EOutofmemory ausgegeben, und zwar an der StelleRootFolder:DRootfolder + '\';Rootfolder ist ein String mit Wert 'R:' dem ein '\' angehaengt werdensoll.AnsiLastChar(RootFolder)^ gibt ':' zurueck.Wieso kommt dort ein Fehler?Koennt ihr mir helfen?Mike.p.s. Die Findallfiles stammt nicht von mir.
PDA / Smartphone-Handling mit Delphi?(Tue, 18 Oct 2011 12:35:49 +0200) Hallo,ich stehe vor dem Problem, Dateien vom Windows-PC auf einen PDA /Smartphone zu kopieren und dabei auch die entsprechenden Verzeichnisseanzulegen...Das Kopieren funktioniert mit einer im Netz gefundenen rapi.pas, aberwie lege ich einen neuen Ordner im PDA an?Danke fuer TipsCiaoStefan
Denkblockade :-((Fri, 14 Oct 2011 09:57:37 +0200) Hallo zusammen,ich habe einen Knoten im Hirn und brauche Eure Hilfe :-)Ich suche fuer folgendes Problem eine Routine:Ich bekomme eine Zahl uebergeben und einen Bewertungsfaktor.Diese Zahl darf nicht grer als $7FFFFFFF sein und mu daher, wenn daszutrifft, entsprechend verkleinert und der Bewertungsfaktor angepat werden.Der Bewertungsfaktor darf nur 1E-9, 1-6, 1E-3, 1, 1E3, 1E6, 1E9 annehmenDas bekomme ich ueber eine Schleife geregelt:while k1 gt; $7FFFFFFF do beginaufloesung := aufloesung * 1000;k1 := k1 / 1000;end;Zusaetzlich kann die uebergebene Zahl aber sehr klein sein und sollte dannentsprechend vergrert werden.Wie bekomm ich das in diese Schleife zusaetzlich rein?DankeCiaoStefan
GTSizer(Sun, 09 Oct 2011 20:23:31 +0200) Hallo,GTSizer scheint es nicht mehr zu geben.Gibt es ein aequivalentes Tool fuer D7 ?Danke.Mit freundlichen GrueenNorbert
#pragma pack() = keine Ausrichtung ?(Sat, 08 Oct 2011 10:40:10 +0200) Hi,wie werden Recordfelder ausgerichtet nachdem im C-Kode0"#pragma pack()" gesetzt wurde? Entspricht das keiner0Ausrichtung?//#pragma pack(4){$A4}T1Rec D record..end;//#pragma pack()T2Rec D packed record lt;DD?..end;--0Arno Garrels
Clipboard: Blockauswahl(Thu, 06 Oct 2011 14:49:31 +0200) Hallo,ich habe hier ein selbstgebautes Editorctrl, das auch Blockauswahl kann. DenBlock kopiere ich ins Clipb. Wie muss in den kopierten Block kennzeichnen,damit ich ihn beim Paste dann auch wieder als Block einfuegen kann?Wei jemand wie das Delphi und Co machen?Oder habe ich etwas ganz Simples uebersehnen...DankeThomas
Centronics Nadeldrucker zeilenweise ansteuern(Thu, 06 Oct 2011 11:45:34 +0200) Hallo,ist lange her, dass ich sowas angesteuert habe. Damals gab es noch DOS.Jetzt mchte einer meiner Kunden einen normalen DinA4-Nadeldrucker alsProtokolldrucker einsetzen. Ich knnte problemlos einen seriellenDrucker verwenden, aber eigentlich mchte ich das ueber die alteCentronics Parallelschnittstelle realisieren.Kann ich wie damals in den 80ern einfach so die gewuenschten Bytes an denDrucker senden, oder muss ich dabei irgendetwas besonderes beachten?Momentan soll das unter WinXP laufen. Spaeter vieleicht auch unter Win7.Die Ansteuerung des Druckers an sich ist kein Thema. Es geht mir nurdarum, das Betriebssystem zu ueberlisten und die Daten direkt zurCentronics-Schnittstelle zu schicken.Hat da jemand einen Tipp fuer mich, wie ich da vorgehen muss?GruStefan
Consolenanwendung Windowsize(Tue, 04 Oct 2011 10:47:29 +0200) Hallokann ich bei einer Consolenanwendung die Fensterbreite veraendern?Habe es mit verschiedenen Werte ueberSetConsoleWindowInfo(ConHandle, true, windowSize);probiert - tut sich aber nichtsKlaus
Mac / BSD asynchron low level(Fri, 30 Sep 2011 19:13:06 +0200) Hi,ich versuche gerade kevent() zu verstehen.http://developer.apple.com/library/mac/#documentation/Darwin/Reference/Ma=nPages/man2/kevent.2.htmlHat damit hier schon jemand Erfahrung gesammelt?Konkret suche ich nach einer Moeglichkeit Windows WSAASyncSelect() auf =dem Mac zu emulieren.kevent() soll, mit Flag EV_CLEAR aufgerufen, edge-triggern. Ich verstehe =das so, dass mit EV_CLEAR z.B. ein Socket Connect einmal ein (write) =Event bei Erfolg liefert und erst wieder ausloest, wenn ich =tatsaechlich versuche etwas zu schreiben bzw. wenn der Schreibversuch =nicht erfolgreich war und der Fehlerkode anzeigt, es zu einem spaeteren =Zeitpung noch einmal zu versuchen. Tatsaechlich aber kehrt kevent() =nach dem erfolgreichen Connect immer wieder sofort zurueck, ohne dass =ich einziges Byte schreibe und zeigt an, dass die Socke schreibbar ist, =mit oder ohne Flag EV_CLEAR macht keinen Unterschied.--0Arno Garrels 00
[w] Update 1 ssene:_FastReports_FastCube_umsonst?(Thu, 29 Sep 2011 14:35:55 +0200) Hi *,Kurzticker:Das Update 1 fuer Delphi XE2 ist verfuegbar:http://edn.embarcadero.com/article/41650Neue Roadshowtermine:Diesmal sind wir in Zuerich, Hamburg, Frankfurt, Leipzig, Regensburg und Ulmhttp://www.embarcadero-info.com/de/in_action_live/Fuer Schnellentschlossene (bis Ende *dieser Woche*):FastReport FastCube bei Neubestellung von Delphi XE2(auch fuer bestehende XE2 Kunden im Downloadbereich fuer registriete Benutzer)--cu://Matthias.Eiing.de [Embarcadero]
Assignfile(Wed, 28 Sep 2011 13:19:00 +0200) Hi,ueber Assignfile(FN,'tst.txt');kann ich der Dateivariablen FN den String zuordnenKann ich aus der Dateivariablen dann spaeter auch wieder den Stringherausbekommen?Klaus
ot: welche Group fuer_VisualC#??(Mon, 26 Sep 2011 18:28:27 +0200) Moin,hab heute kurz gesucht und nicht so ganz das richtige gefunden.Welche Newsgroups wuerdet ihr fuer C# bzw. Visual Studio empfehlen?GruStefan
Problem mit IIS 7.5 und ISAPI-DLL (32-Bit)(Fri, 23 Sep 2011 20:38:08 +0200) Hallo,ich bin mir nicht ganz sicher, ob ich mit meinem Problem hier richtigbin. Aber vielleicht weis ja jemand Rat. :-/Ich hatte mir testweise eine "ISAPI-DLL", basiert auf TWebModule,erstellt (D-Pro 2010).Auf den 32-Bit Plattormen (IIS 5.1) Win XP und Win 2000 Serverfunktioniert die "DLL" wie gewuenscht.Nur auf dem 64-Bit System Windows Server 2008 Standard R2, IIS 7.5,laeuft es einfach nicht. Das OnAction-Ereignis wird hier nicht ausgelst.In der IIS-Konfiguration ist im Anwendungspool unterErweiterte-Einstellungen der Punkt "32-Bit Anwendungen aktivieren" aufTrue gesetzt. Danach muesste die DLL eigentlich richtig arbeiten.Alle zugehrigen Rechte auf alle Dateien und Pfade sind auch korrekteingestellt.Google hat bisher auch nicht weitergeholfen.Hat jemand eine Idee?MfgGeorg Huebner
Delphi XE Buch(Thu, 22 Sep 2011 16:31:09 +0200) Hallo,gibt es eigentlich ein vernuepftiges (Hand)Buch fuer Delphi XE bzw. XE2,das die Mglichkeiten der IDE und deren Tools in deutsch erklaert und wieman sie am effektivsten nutzt?MfGHeiko
ImageList Actions(Wed, 21 Sep 2011 16:08:03 +0200) Hallo!Wie macht ihr das eigentlich mit den Bildchen und den Actions. Habt ihrfuer diese Images eine einzige 'riesige' Imagelist auf die allezugreifen knnen, oder trennt ihr die irgendwie auf? Leider kann man janicht pro Action eine Imagelist/ImageIndex machen sondern nur eineImagelist pro Actionlist. Es gibt eben Bildchen die brauche ich nur ineinem bestimmten Menue, waehrend zB andere Bildchen immer wiedergebraucht werden...Gru aus den BergenGuenter
Hinweis: Der Feed "Alles zum Thema Delphi und das aus einer Hand" und dessen hier dargestellten RSS-Inhalte liegen urheberrechtlich beim Autor der Betreiber-URL (siehe RSS-Link). Auf den Inhalt von "Alles zum Thema Delphi und das aus einer Hand" hat RSS-Nachrichten.de keinen Einfluss. (62572-4-210-1 - 0)