AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

D2009 Exception

Ein Thema von EWeiss · begonnen am 29. Apr 2011 · letzter Beitrag vom 2. Mai 2011
Antwort Antwort
Seite 2 von 2     12   
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#11

AW: D2009 Exception

  Alt 30. Apr 2011, 22:24
Hast du zufällig den FastMM zur Hand? im FullDebugMode?
Der könnte wichtige Infos zeigen.

vielleicht auch mal den String rauslassen (->temporär in ein Char umwandeln).
Vielleicht könnte auch ein Finalize helfen.

Ansonsten weiß ich auch keinen guten Rat
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#12

AW: D2009 Exception

  Alt 30. Apr 2011, 22:28
Hast du zufällig den FastMM zur Hand? im FullDebugMode?
Der könnte wichtige Infos zeigen.

vielleicht auch mal den String rauslassen (->temporär in ein Char umwandeln).
Vielleicht könnte auch ein Finalize helfen.

Ansonsten weiß ich auch keinen guten Rat
Sorry wie meinst du Finalize ?

gruss
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#13

AW: D2009 Exception

  Alt 30. Apr 2011, 23:02
ICh weiß nicht ob finalize das richtige ist. das hab ich nur grad beim googlen gelesen. Ist sowas ähnliches wie Dispose (bitte nicht hauen wenn falsch)
ist vielleicht das das richtige wonach du suchst: http://www.delphipraxis.net/149061-e...te-listen.html

Sorry ich muss jetzt auch passen.

Probier mal den FastMM, vielleicht zeigt der an was schief läuft.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#14

AW: D2009 Exception

  Alt 1. Mai 2011, 00:01
ICh weiß nicht ob finalize das richtige ist. das hab ich nur grad beim googlen gelesen. Ist sowas ähnliches wie Dispose (bitte nicht hauen wenn falsch)
ist vielleicht das das richtige wonach du suchst: http://www.delphipraxis.net/149061-e...te-listen.html

Sorry ich muss jetzt auch passen.

Probier mal den FastMM, vielleicht zeigt der an was schief läuft.
Danke ..
Kein problem wenn du nicht weiter weist.
Stehe ja selber auf den Schlauch glaube das die D2009 einfach zu verbuggt ist hehehhe

Mit den ganzen Unicode Kram.

Beispiel:
Nehme ich PAnsiChar dann meckert der compiler..
Ersetze ich es mit PChar meckert er nicht übersetzt aber in der System.pas PChar automatisch wieder zurück nach PAnsiChar. (Was für ein Quatch)
Verwende ich anstelle von PChar(System.PAnsiChar) PWideChar dann aktzeptiert der Compiler das auch ohne zu meckern beläßt es dann aber so wie es ist.
Das ist die einzigste möglichkeit warum es bei D2009 kracht weil irgendwelche Übersetzungen wieder mal nicht korrekt sind.
Aber wie den Fehler feststellen wenn der eigene Compiler nicht dazu in der lage ist die richtigen UNcode Variablen zu zuweisen.

PS:
Noch ein kleines Beispiel zum anschauen.

Delphi-Quellcode:
constructor TSkinTrackBar.Create(hOwner: HWND; FullpathImageName: string;
  x, y, tW, tH, ButID: integer; tMin, tMax: Integer; tVal: Integer;
  ARGBcolor: COLORREF; PROGRESScolor: COLORREF);
var
  wc: TWndClassEx;
  myClass: PWideChar;

begin

  inherited Create;

  //with SkinEngine do
  //begin
    if tMin = tMax then
      Exit;

    myClass := 'SKTRACKBAR';
    wc.cbSize := SIZEOF(wc);
    IsInitialized := GetClassInfoEx(SkinEngine.skInstance, myClass, wc);
    if IsInitialized = False then
    begin
      wc.cbSize := SIZEOF(wc);
      wc.style := CS_HREDRAW or CS_VREDRAW or CS_DBLCLKS or CS_PARENTDC;
      wc.lpfnWndProc := @TrackProc;
      wc.cbClsExtra := 0;
      wc.cbWndExtra := EXTEND_EXTRA * 4;
      wc.hInstance := SkinEngine.skInstance;
      wc.hIcon := 0;
      wc.hCursor := 0;
      wc.hbrBackground := 0;
      wc.lpszMenuName := nil;
      wc.lpszClassName := myClass;
      wc.hIconSm := wc.hIcon;
      if RegisterClassEx(wc) <> 0 then
        IsInitialized := True;
    end;
myClass: PWideChar;
laut GetClassInfoEx richtig definiert.
Funktioniert nicht mit PAnsiChar aber mit PChar
welches dann von der System.pas wieder in PAnsiChar zurück definiert wird.
Was für ein Blödsinn.


gruss

Geändert von EWeiss ( 1. Mai 2011 um 00:20 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#15

AW: D2009 Exception

  Alt 2. Mai 2011, 17:12
WM_CLOSE:
Danke nochmal für deine Hilfe.
Habe meinen Code dank deiner Hilfe verbessert.. siehe Dispose

Das problem lag aber nicht an meiner Parser Function sondern
daran das ich vorher
Delphi-Quellcode:
  DrawTextToDC(DC, GetCTLText(ParentHandle), x, y, gColorCaption, SK_CAPTIONFONT,
    SK_CAPTIONFONTHEIGHT, -1, 0);
den Text mit string anstelle von WideString übergeben habe.
Das hatte zur folge das der Pointer "strFormat" in der GDI+ einen Fehler verursachte
da dieser nicht gültig war.

GELÖSST!

gruss
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#16

AW: D2009 Exception

  Alt 2. Mai 2011, 21:21
Naja ich versteh nicht warum du nicht einfach:

GetClassInfoEx(SkinEngine.skInstance, 'bla', wc); machst. Bzw. einen WideString deklarierst und als PWideChar castest (wie AnsiString/String mit PChar).
Im übrigen verwendet du eine objektorientierte Sprache, warum der Umstand mit den verketteten Listen und Pointern, wenn eine TObjectList und eine Klasse um einiges eleganter und weniger fehleranfällig wäre?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#17

AW: D2009 Exception

  Alt 2. Mai 2011, 23:17
Naja ich versteh nicht warum du nicht einfach:

GetClassInfoEx(SkinEngine.skInstance, 'bla', wc); machst. Bzw. einen WideString deklarierst und als PWideChar castest (wie AnsiString/String mit PChar).
Im übrigen verwendet du eine objektorientierte Sprache, warum der Umstand mit den verketteten Listen und Pointern, wenn eine TObjectList und eine Klasse um einiges eleganter und weniger fehleranfällig wäre?
Und wie nennst das ?
TSkinTrackBar

keine klasse?

na ja hab schon geschrieben gelösst.

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz