Hallo,
ich raff es nicht. Ich kann innerhalb der Klasse nicht auf meine Attribute zugreifen?
Der Comiler meckert in der ersten Zeile der einzigen procedure an, dass FPunkt1_T nicht deklariert sei? (und alle folgenden Attribute ebenfalls)
Was übersehe ich?
hier mein Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80:
| unit MESSUNG;
interface
uses SPRACHE, DIALOGS, SYSUTILS;
const C0 = 1.706E-12;
type TMESSUNG = class private FDatei: String; FDok1: String; FDok2: String; FDok3: String; FIonzeit: Integer; FTyp: Integer; FPunkt1_T: Integer; FPunkt1_W: Double; FPunkt2_T: Integer; FPunkt2_W: Double; FPunkt3_T: Integer; FPunkt3_W: Double; FPunkt4_T: Integer; FPunkt4_W: Double; FAbnahme: Double; FR1: Double; FR2: Double; FR3: Double; FRGes: Double; public procedure CalcResistance(); end;
implementation
procedure CalcResistance(); var POffset : Double; dTmp: Double; begin POffset := FPunkt1_T; if POffset > FPunkt2_W then POffset := FPunkt2_W; if POffset > FPunkt3_W then POffset := FPunkt3_W; if POffset > FPunkt4_W then POffset := FPunkt4_W; FPunkt1_W := FPunkt1_W - POffset + 1; FPunkt2_W := FPunkt2_W - POffset + 1; FPunkt3_W := FPunkt3_W - POffset + 1; FPunkt4_W := FPunkt4_W - POffset + 1; if ( FPunkt4_T <= FPunkt3_T ) or ( FPunkt3_T <= FPunkt2_T ) or ( FPunkt2_T <= FPunkt1_T ) then begin ShowMessage( GetResStr( 74, lang ) ); exit; end; if ( FPunkt4_W >= FPunkt3_W ) or ( FPunkt3_W >= FPunkt2_W ) or ( FPunkt2_W >= FPunkt1_W ) then begin ShowMessage( GetResStr( 75, lang ) ); exit; end; try dTmp := 1000 * ( ln( FPunkt1_W ) - ln( FPunkt2_W ) ) * C0; FR1 := ( FPunkt2_T - FPunkt1_T ) / dTmp; dTmp := 1000 * ( ln( FPunkt2_W ) - ln( FPunkt3_W ) ) * C0; FR2 := ( FPunkt3_T - FPunkt2_T ) / dTmp; dTmp := 1000 * ( ln( FPunkt3_W ) - ln( FPunkt4_W ) ) * C0; FR3 := ( FPunkt4_T - FPunkt3_T ) / dTmp; FRGes := ( FR1 + FR2 + FR3 ) / 3; except on EZerodivide do begin FRGes := 0; end; end; end;
end. |
Hoffe, es stösst mich einer mit der Nase drauf.
Beste Grüße,
Thomas
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
Moderiert von
Narses: Titel geändert, war: "absolute Anfängerfrage: kein Zugriff auf Klassenattribute".