AGB  ·  Datenschutz  ·  Impressum  







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

Handle Problem

Ein Thema von braingrenade · begonnen am 24. Jun 2003 · letzter Beitrag vom 24. Jun 2003
Antwort Antwort
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#1

Handle Problem

  Alt 24. Jun 2003, 20:04
Moin Leute !

Ich hab eine prozedur in einer
unit :

Delphi-Quellcode:

type myclass = class
 targethandle : HWND;
 procedure init(windowhandle : HWND);
  ...
end;

...

procedure myclass.init(windowhandle : HWND);
begin
targethandle := windowhandle; // in dieser zeile kommt der fehler
...
end;
nun möchte ich diese prozedue in einer form so ausführen :

Delphi-Quellcode:

var x : myclass;

procedure y;
begin
x.init(application.handle);
end;
aber es kommt währen der laufzeit immer zu folgendem Fehler :

'access violation at address 0046280E in modul ...'

Weiß jemand wie das beheben kann ?
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 24. Jun 2003, 20:08
Moin Braingrenade,

bist Du sicher, dass der Fehler nicht in dieser Zeile kommt

x.init(application.handle); Vielleicht hast Du's ja auch nur nicht mit hingeschrieben, aber ich seh' nämlich nirgends, dass das Objekt auch erzeugt wurde.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 24. Jun 2003, 20:25
aso!

Du meinst ich soll Tobject vererben und dann create aufrufen?

ich dachter immer das geht auch ohne!
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 24. Jun 2003, 20:30
Moin Braingrenade,

wenn Du etwas von class ableitest so wird das intern als class(TObject) gesehen.

In keinem Falle aber kommst Du um den Aufruf eines Konstruktors herum, wenn Du eine Instanz von Deiner Klasse bilden willst.

Dazu musst Du nicht zwingend selber einen erstellen, wenn Du nichts hast was dort initialisiert werden soll.

Wenn Du also erst den Konstruktor der Klasse aufrufst

Delphi-Quellcode:
var x : myclass;

procedure y;
begin
  x := myclass.create; // Instanz von MyClass erzeugen
  x.init(application.handle);
end;
sollte es gehen.

Dazu musst Du in Deiner Klasse nichts ändern.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#5
  Alt 24. Jun 2003, 20:34
Alles funzt jetzt !!

DAnke!
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Antwort Antwort


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:39 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