Zum Inhalt springen

schorschi

Mitglieder
  • Gesamte Inhalte

    116
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von schorschi

  1. Vielleicht noch ein interessanter Nachtrag, auf der suche nach meinem Fehler habe ich den Befehl error_reporting(E_ALL); aufgerufen. Bei Firefox habe ich die Fehlermeldung erhalten "Website nicht erreichbar, Serververbindung wurde zurückgesetzt" Beim IE wird die normale Internetseite angezeigt ohne irgendwelche Fehleranzeigen, obwohl so einige angezeigt werden müßten. Offenbar wird der Befehl hier beim IE ignoriert was mich vermuten läßt das, warum auch immer, ein konfigurationsproblem vorliegt. Wenn ich das Prog "WinMySqladmin" neben der Systemuhr mit dem Reiter Database anzeigen lasse, werden die entsprechenden Tabellen NICHT angezeigt. Sehr wahrscheinlich ist mein Problem also auch in der falschen Rubrik gepostet, also an den Admin hier, falls falsch war keine absicht bitte verschieben. Danke
  2. Hallo zusammen. Ich hoffe ich bin hier richtig mit meinem Problem. Ich sitze gerade an der ausarbeitung eines Shops und bin auf ein sehr merkwürdiges browserabhängiges Verhalten gestoßen. Wenn ich einen Artikel in den Warenkorb lege und bei Eintritt in die entsprechende Internetseite, bei mir 'item.php' die Werte auslese, entsprechend auswerte und in der Datenbank aktualisiere oder anlege, habe ich folgendes Problem. Bei Eintritt in die Website ist der Bestand in der DB i.O., die Bearbeitung der Daten und das einpflegen der neuen Werte per Skripte auch i.O., kurz vor dem erstellen des </html> zeigt mir eine Datenbankabfrage ebenfalls, dass alle Werte so eingetragen sind wie sie sein sollten. Alle Datenbankbefehle sind, meines erachtens, korrekt formuliert und führen die Änderungen durch, welche ich bezwecken möchte. ABER: Öffne ich nach dem Aufrufen und dem anzeigen der Website die Datenbank mit PhpMyAdmin, so stellt sich heraus, das der zugeführte Artikel doppel in die Datenbank eingefügt wurde. Sprich die Datenbankoperation welche ich EINMAL aufrufe mit den korrekten Parametern, wird zweimal ausgeführt. Auch wenn ich per echo $sql den Datenbankbefehl anzeigen lasse wird dieser auch nur einmal angezeigt. Jetzt stelle ich mir natürlich die Frage wat n dat n ??? Also die letzte angewiesene Datenbank operation in meiner 'item.php' ist das auslesen per 'Select Statement' mit eindeutigen Argumenten. Aber im Anschluß, obwohl kein Datenbefehl mehr aufgerufen wird, werden die Werte nochmals geändert. Dieses Verhalten passiert im Firefox (Version 2. bla (ich weiß es gibt die 3.06)) aber auch im GoogleChrome. Beim IE habe ich diesen Effekt nicht. Da ich in php mit Klassen arbeite, vermute ich den Fehler nicht direkt im Quellcode, sondern in meiner unachtsahmkeit von wegen Klassenname Konstruktor oder ähnlichem. Die Seite wird auch nicht per Umleitung doppelt aufgerufen. Ich dachte auch schon ob es wie ein RollBack vielleicht einen ähnlichen Befehl gibt welcher versucht nochmals das letzte Update durchzuführen bevor die DB geschloßen wird. Aber ersten noch nix davon gehört und zweitens wird nach jedem Datenbankbefehl die Datenbak wieder geschloßen. GANZ WICHTIGE FRAGE: Wenn ich doch die Datenbankbefehle per PHP, also einer serverseitigen Sprache implementiere, wieso ein browserabhängiges Verhalten ? Ich weiß, jetzt kommt das Thema zeig mal ein paar Codeschnipsel. Problem: Ich versuche einen objektorientierten Ansatz zu erstellen und müßte, um den Quellcode zu zeigen, rund 15 Dateien hochladen und da müßte erstmal einer durchsteigen, den ganzen Krempel durchlesen und sich einige Zeit damit beschäftigen. Ich weiß mein Problem ist sehr allgemein formuliert, aber es müsste irgendwas mit dem Browserverhalten zu tun haben da ich alle relevanten Stellen im Quellcode, welche ein Update in der Datenbank durchführen jetzt mehrfach getestet habe und eigentlich, zumindest in meinen Augen, korrekt arbeiten. Ich hoffe Ihr könnt was mit meinen Formulierungen anfangen... Gruß Joerg
  3. [Klotzkopp] Ich bin da nicht so fit. brauchst Du die komplette Aufrufliste oder bestimmte Einträge ? Ich vermute das dieser Eintrag interessant ist : _AfxDeferClientPos(AFX_SIZEPARENTPARAMS * 0x0012eb7c, CWnd * 0x00000000 {CWnd hWnd=???}, int 2, int 2, int 0, int 0, int 0) line 1316 + 3 bytes CSplitterWnd::RecalcLayout() line 1478 CSplitterWnd::OnSize(unsigned int 0, int 4, int 683) line 1213 Nebenher, weiß Du eine Quelle wie ich lernen kann, mit der Aufrufliste umzugehen ?
  4. Hey, [Klotzkopp] die Variaben sind als Member deklariert, ich hatte Sie nur verdeutlichung dargestellt. Hier kommt der Fehler: int CFrameWnd::OnCreateHelper(LPCREATESTRUCT lpcs, CCreateContext* pContext) { ... RecalcLayout(); ... } Meldung Assertion Failled Es geht dabei wohl um die Fenstergröße, welche anscheinend nicht gültig ist. [Hexagon] Einfach abgetippt ist nicht richtig. Das Beispiel, an welchem ich mich orientiert hatte, ist anders aufgebaut. Es ging mir eher um die Vorgehensweise. Laut Beispiel soll man so einen Splitter mit drei Fenstern aufbauen (können)...
  5. Hallo, ich versuche mich gerade an einem neuen Thema: Splitter. also mehrere Zeilen bzw. Spalten bekomme ich hin. Mich interessiert nun wie ich ein Fenster in drei unterschiedliche Teile splitten kann. So wie bei einer Website mit einem 3 teiligen Frameset. Oben einen Banner über die gesammte Breite, unter dem Banner ein Fenster links und eines rechts. Ich habe zwar ein beim googlen ein paar Codeschnipsel bekommen, aber igrendwie bekomme ich es nicht am laufen: Sys: VC6.0 W2K BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { CSplitterWnd m_FirstSplitter; CSplitterWnd m_SecondSplitter; m_FirstSplitter.CreateStatic(this, 1, 2); m_FirstSplitter.CreateView(0,1, RUNTIME_CLASS(CDiaBanner),CSize(100, 100),pContext); m_SecondSplitter.CreateStatic(&m_FirstSplitter, 2, 2,WS_CHILD|WS_VISIBLE,m_FirstSplitter.IdFromRowCol(0,0)); m_SecondSplitter.CreateView(1,0,RUNTIME_CLASS(CDiaLeft),CSize(100, 100), pContext); m_SecondSplitter.CreateView(1,1,RUNTIME_CLASS(CDiaRechts),CSize(100, 100), pContext); return true; } Kann mir einer von euch weiter helfen oder kennt ein geeignetes Tut. für MFC ?
  6. Warum ich "u" benutze, frag' mich nicht sowas. Stand halt in dem Skript drin. Ich vermutete, das es den Rückgabewert der Funktion "date" so formatiert, das ich die Sekunden bekomme. Ich habe da aber nicht nachgeschaut. Mittlerweile habe ich herausbekommen das ich die Methode filemtime unter W2K benutzen muß. jetzt funktioniert alles einwandfrei. Warum ich das zuletzt geänderte Datum benutze ? Nun bei meiner suche habe ich keine Methode im vorbeiflug gefunden welche mir das Erstellungdatum einer Datei liefert, oder ich habs überlesen. Einige Counter basieren doch auf der Idee das Sie die IP loggen, indem Sie eine Datei erstellen und diese Datei so benennen. Ist eine definierte Zeitspanne vorüber, wird die Datei wieder gelöscht. Soll halt nur dazu dienen das beim gleichen Besucher der Zähler nicht unendlich hochschnellt. Is halt ein wenig Spielerei so ein Counter. Aber danke nochmals für die Antwort.
  7. Hallo, ich habe mir aus dem Netz einen Besuchercounter als Vorlage besorgt. Klappt soweit, bis auf die Tatsache, wenn ich per php eine Datei anlegen lasse und anschließend das Datum der Erstellung der Datei abfrage, bekomme ich irgendeinen Wert welcher mit dem Erstellungsdatum nicht übereinstimmt. Hiermit lade ich die Dateizeit: $dat_date = date("U", filectime($file_path."data_counter\\$datfile")); SYS: W2K Apache,php5 Hat jemand nen Tipp ?
  8. Hat sich mittlerweile erledigt.
  9. Hallo, kann mir jemand sagen wie ich mit Achtung "VBS" script den wert eines html-Tag verändern kann ? Bevor die Frage kommt warum vbs anstatt js, die Plugins des IEs kann mann soviel ich weiß nur mit vbs auslesen und ich muß die Plugins einlesen können. Ich wäre auch gern bei js geblieben. danke
  10. Ich denke mal ich hatte einen falschen Ansatz. Ich werde euren Vorschlag versuchen. Danke
  11. Ja, tolle Wurst. hatte ich mir schon gedacht. Dann darf ich mal wieder 'per Hand eine korrektur errechnen. Danke.
  12. Hat etwas gedauert. Ich wollte den Dialog, eine Prozesssbar, als optisches Mittel nutzen damit der User weiß wie weit die Arbeit des Threads erledigt ist. Aktuell habe ich das roblem umgangen, ich laße es mit dem Dialog. Aber irgendwann muß ich da sowieso mal ran, von wegen GUI thread. Danke für die Antworten
  13. Hey zusammen. Ich möchte den Rechner in den Standby versetzen und zu einer definierten Zeit wieder wecken. Soweit sogut. Ich habe die Werte per Protokoll kontrolliert. Beispiel: Ich schicke den Rechner um 03.00 Uhr in den Standby und möchte Ihn um 03:05 wieder wecken. Das Problem ist das die Zeit welche ich Protokolliert bekomme wenn ich Ihn manuell aus dem Standby hole, liegt bei 1.05 Uhr liegt also exakt zwei Stunden hinter der eigentlichen richtigen Zeit. Mein erster Gedanke war Sommerzeit, Zeitzone vielleicht das im Bios eine andere Zeit eingestellt ist, und von Windows an die Zeitzonen angepaßt wird. Naja im Bios steht auch die korrekte. Es funktioniert übrigends einwandfrei wenn ich die Weckzeit vorher mit GetSystemtime hole und als Beispiel 5 Minuten addieren. Also ... SYSTEMTIME m_WakeUptime={0}; GetSystemTime(&m_WakeUptime); m_WakeUptime.wminute+=5; ... Gruß
  14. Also gestartet als Workerthread mit: AfxBeginThread(Funktionsname,this, THREAD_PRIORITY_NORMAL, 0, 0, NULL); Ein Absturz beschieht dann sobald der zweite Thread bei CDiaProzessBar *m_DiaProzessBar = new CDiaProzessBar(); m_DiaProzessBar->Create(CDiaProzessBar::IDD); ankommt, was sich ja innerhalb der Threadfunktion befindet Fehlgeschlagene Assertion? Schutzverletzung? Callstack? Bahnhof ?!? Kannst Du die noch an die PN erinnern ? :confused: soweit bin ich leider nicht mit der Entwicklungsumgebung das ich da 'ne qualitative Auskunft geben kann, oder anders, isch ham kene Ahnung... Ich weiß wohl das es Unterscheidungen zwischen Worker- und Oberflächenthreads gibt, aber da ist schon wieder Ende im Gelände.
  15. Hallo, ich möchte in einem Thread einen Dialog öffnen und per ProzessBar den Bearbeitungszustand anzeigen lassen. Hat der Thread seine arbeit erledigt wird der Dialog im Thread geschlossen. Solange ich nur einen Thread gestartet habe, kein Problem. Laufen zwei Threads gleichzeitig, Absturz. Ich denke mal da Sie auf die gleiche Resource zugreifen. Den Dialog starte ich so: CDiaProzessBar *m_DiaProzessBar = new CDiaProzessBar(); m_DiaProzessBar->Create(CDiaProzessBar::IDD); m_DiaProzessBar->ShowWindow(SW_SHOW); ... Kann mir jemand sagen, wie ich in Threads mehrere Dialoge der gleichen Recource starten kann ? Gruß
  16. Kann ich Dir im Augenblick nicht sagen, ich hatte einige Funktionen ausprobiert welche nicht zum Erfolg führten, bis ich Klotzkopps Ratschlag versuchte umzusetzen. Da habe ich dann mehr oder weniger zufällig den Focus auf das Listenelement gesetzt und dann hat es funktioniert. Mag sein das auch andere Funktionen das gewünschte Ergebnis liefern. Gruß
  17. Klotzkopp hat recht. Ich meine nicht die ComboBox. Danke, habs mir angesehen und hinbekommen.
  18. Hallo, kann mir jemand sagen wie ich beim Listenelement per Quellcode selektieren oder markieren kann ? So wie bei einer Combo mit SetSel() ? Irgendwie finde ich die geeignete Methode. Mit SetHotItem() wird ja nur eine einzelne Zeile mit der Schrift hervorgehoben. Sys: W2K Sprache VC6 danke
  19. Hey, mittlerweile habe ich gemerkt das es wohl nicht reicht die Dialogklasse als Basis zu nehmen um ein Event abzufangen. Je nachdem welches Element des Dialoges (Eigabefeld, Listenfeld,...) den Fokus hat, hat jedes dieser Felder seine eigene Routine um einen Keydown abzufangen. Ich werde mir mal deinen Vorschlag mit OnPreTranslateMessage() anschauen. Es kann ja wohl nicht angehen, das ich bei jedem einzelnen Steuerelement eine OnKeyDown() separat für sich abfangen muß....
  20. Ja habe ich schon probiert. OnCommand, OnCmdMsg, OnKeyDown, OnSysCommand, OnSysKeyUp, OnSysKeyDown, OnSysChar, OnChar, OnMenuChar, OnSysDeadChar Ich habe alle Methoden eingebunden, welche irgendwie darauf hinweisen ein Ereignis abzufangen was von der Tastatur her kommt. Lediglich bei "F10" und der 'Return' Taste gelange ich in einer dieser Methoden um eingreifen zu können. Ich denke, das ich in der InitDialog irgendwas laden muß, damit im Dialog ebenfalls die Tastaturereignisse abfangen kann, wie gesagt, ist der Focus auf dem SDI-Fenster funzt es.
  21. Hallo zusammen, kann mir jemand sagen wie ich an Events der gedrückten Funktionstasten (F5-F10) komme ? Ich habe eine SDI Anwendung und im SDI-Fenster komme ich an die Info, wenn der User eine Funktiontaste gedrückt hat. Nun rufe ich einen Dialog per DoModal() auf und lade ein extra für diesen Dialog erstelltes Menue. In diesem Menue möchte ich ebenfalls mit den Funktionstasten arbeiten aber ich finde keine Möglichkeit wie ich da eine Nachricht abfangen kann. Alle beschreibungen bzw. Tutorils welche ich gefunden habe gehen nur von einem Standartmenue aus. danke Joerg
  22. Sorry, das mit dem Namen ist mir natürlich erst jetzt aufgefallen:rolleyes:
  23. Nein, in der Funktion bestimme ich die größe des zusammengesetzten char[] und reserviere Speicher für den mit NULL übergebenen Pointer. Hintergrund war das wenn ich das Ergebnis nicht mehr brauche kann ich es dort wieder freigeben.Ich fand es nicht gut in der Funktion einen Pointer zu bilden Speicher zu reservieren und ihn zurückzugeben, ich wüßte nicht, wie ich speicherplatz wieder freigeben soll hinter einem return, da komme ich ja nie hin. das dachte ich mir schon... Es heißt doch immer möglichst nache am ANSI zu bleiben, naja ich wollte zumindest mit der Stringbearbeitung dort bleiben.Mit CString klappt es natürlich auch. Aber Tatsache ist ja das ich an der Basis Fehler mache und ich weiß nicht wo. Zur Zeit habe ich wieder eine Fehlermeldung welche mich auf schlechte Speicherverwaltung hinweißt.Ich habe eine eine Variable eines RecordSet. Klappte alles wunderbar, bis jetzt. Irgendwo habe ich da 'nen crash und ich kenne mich nicht mit den tools zur überrüfung des Speichers oder/Stack aus.Habe ich noch nie gemacht... Sag mal Klotzkopf, kann ich dir 'ne private Nachricht schicken ?
  24. Es exitiert ein (normalerweise) terminerter Pointer. Den übergebe ich als Value an eine Funktion. Als Vergleichswerte zum suchen für die Funktion diehnen ebenfalls zwei Nullterminierte Pointer.Zusätzlich übergebe ich zwei Referenzen für den gefundenen Wert & den Stringrest, und da weiß ich nicht, ob ich es richtig mache, diese bilde ich mit char* pointer=NULL und übergebe sie. In der Funktion vergleiche ich die Pointer mit pointer[counter]==pointer[pointer], bei Erfolg kopiere ich den Pointer[counter] in einen normalen char[]. Am Ende des Vergleiches kopiere ich den erstellten char[] in die übergebenen Referenzen. Ziehmlich umständlich, denke ich. Beispiel: void myFunktion::GetPartOfString(char *String, char *FirstVglstr, char *LastVglstr, char *&Find, char *&Rest) { int size = strlen(String); int sizeVgl = strlen(FirstVglstr); int sizeVglEnde = strlen(LastVglstr); int counter = 0; int copy = 0; unsigned int status = 0; int counterVglStart = 0; int counterVglEnde = 0; int tmpcounter = 0; char tmp[8192]; char tmp2[8192]; ... } Ich denke mal das ich hier keinen Speicher freigeben muß, oder besser kann. Leuchtet ein, wenn du es sagst. Unterschiedlich. Hauptsächlich unbekannte Textdateien welche nach verschiedenen Mustern durchsucht werden. Ich habs auch schon mit strstr() und strtok() versucht, mußte aber Feststellen, dass sobald ich ein anderes Muster angebe es nicht mehr funktioniert. Meine erstellten Funktionen Funktionieren aufgrund des Umständlichen aber auch detailirten Aufbaus einwandfrei.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...