OleVariant değişkene değer atanması
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 8
- Kayıt: 16 Kas 2005 11:45
OleVariant değişkene değer atanması
Merhabalar,
VB ile hazırlanmış bir ActiveX DLL dosyasını kullanmaya çalışıyorum. Kitapçığında yazılı olan değerleri son derece uygun bir şekilde yerleştirdim fakat bir değişkene kitapçıkta belirtilen değeri atayamıyorum.
VB Kodu:
degisken.FSFoulingFactor = 0#
olarak verilmiş. Delphi bu alanı OleVariant olarak almış, ben kodu aşağıdaki şekilde yazınca değer yazımı Delphi'ye uymadığı için hata alıyorum.
degisken.FSFoulingFactor:=0#;
Diğer değişkenlerle alakalı herhangi bir sorun görünmüyor. Tek problem burada karşıma çıktı. Bunu nasıl çözebileceğim hakkında bilgi olan var mı?
Not: bu arada karakter kodlarını vererek de denedim yine olmadı
degisken.FSFoulingFactor:=#48#35;
VB ile hazırlanmış bir ActiveX DLL dosyasını kullanmaya çalışıyorum. Kitapçığında yazılı olan değerleri son derece uygun bir şekilde yerleştirdim fakat bir değişkene kitapçıkta belirtilen değeri atayamıyorum.
VB Kodu:
degisken.FSFoulingFactor = 0#
olarak verilmiş. Delphi bu alanı OleVariant olarak almış, ben kodu aşağıdaki şekilde yazınca değer yazımı Delphi'ye uymadığı için hata alıyorum.
degisken.FSFoulingFactor:=0#;
Diğer değişkenlerle alakalı herhangi bir sorun görünmüyor. Tek problem burada karşıma çıktı. Bunu nasıl çözebileceğim hakkında bilgi olan var mı?
Not: bu arada karakter kodlarını vererek de denedim yine olmadı
degisken.FSFoulingFactor:=#48#35;
Kod: Tümünü seç
degisken.FSFoulingFactor = 0;
-
- Üye
- Mesajlar: 8
- Kayıt: 16 Kas 2005 11:45
string değer olabilir o zaman veya char:
veya
Kod: Tümünü seç
degisken.FSFoulingFactor:= #0;
Kod: Tümünü seç
degisken.FSFoulingFactor:= '0#';
-
- Üye
- Mesajlar: 8
- Kayıt: 16 Kas 2005 11:45
-
- Üye
- Mesajlar: 8
- Kayıt: 16 Kas 2005 11:45

Neyse peki soruyu şu şekle getirip sorabilmek mümkün mü? VB ile hazırlanmış olan ve tarifi de ona göre gelen DLL dosyasını yine VB ile çalıştıran bir program yazıp, bu programı delphi ile yazdığım program çalışırken çağırıp içinden sonuç verilerini import edebilir miyim? Bununla ilgili herhangi bir kod var mıdır?
önce vb de 0# ın ne olduğunu öğrenmek lazım. charmı? integermi?
bunu biliyorsanız şu şekilde problem olmaması lazım,
bunu biliyorsanız şu şekilde problem olmaması lazım,
Kod: Tümünü seç
var
tmp : variant;
....
tmp := '0'; //
tmp := 0; //
tmp := $0; // artık bunlardan hangisi ise... deneme yanılma yapın isterseniz
degisken.FSFoulingFactor := tmp;
.-.-.-.-.-.-.-. ^_^
-
- Üye
- Mesajlar: 8
- Kayıt: 16 Kas 2005 11:45
Kitapçıktaki VB kodu:
Bu değerle ilgili herhangi bri açıklama yok yani standart bir değer.
Kod: Tümünü seç
Private Sub Command1_Click()
p.CoilsType = List1.ListIndex + 1
p.CoilsGeometry = 1
p.CalculationMode = WithoutFluidRate
p.FinMaterialCode = 1 ‘Value from table 1
p.TubeMaterialCode = 2 ‘Value from table 1
p.AirFlow = CDbl(Text2.Text)
p.AirInletTemp = CDbl(Text3.Text)
p.AirInletRelHum = CDbl(Text4.Text)
If Option1.Value = True Then
p.PrintingTest = PrintingTestfile
End If
If Option2.Value = True Then
p.PrintingTest = JumpPrintingTestfile
End If
Select Case (List1.ListIndex + 1)
Case 1 To 2
p.FluidType = LiquidPure ‘Value from table 14
p.FluidCode = 1 ‘Value from table 2
p.TempFluidIn = CDbl(Text5.Text)
p.TempFluidOut = CDbl(Text6.Text)
Label18.Visible = False
Label17.Visible = False
Text18.Visible = False
Text17.Visible = False
Case 3 To 4, 6
p.FluidType = BiPhase ‘Value from table 14
p.FluidCode = 26 ‘Value from table 6
p.EvaporationTemp = CDbl(Text5.Text)
p.CondensationTemp = CDbl(Text6.Text)
p.Rapl = CDbl(Text6.Text)
p.GSotr = CDbl(Text18.Text)
p.GSurr = CDbl(Text17.Text)
Case (5)
ps = CDbl(Text5.Text)
ts = CDbl(Text6.Text)
p.Press = ps
p.CondensationTemp = ts
p.GSotr = CDbl(Text18.Text)
p.GSurr = CDbl(Text17.Text)
End Select
p.NRows = CDbl(Text11.Text)
p.CoilHeight = CDbl(Text10.Text)
p.CoilLength = CDbl(Text9.Text)
p.FinPitch = CDbl(Text8.Text)
p.NCirc = CDbl(Text7.Text)
p.NTubes = CDbl(Text12.Text)
p.SecurityFactor = SecurityF_minus00 ‘Value from table 13
p.AirSideFoulingFactor = 0
p.FSFoulingFactor = 0#
p.AtmPressure = 1 * 1.01325
p.Show
Text16.Text = Format(p.Result(1), "0.00")
Text15.Text = Format(p.Result(10), "0.00")
Text14.Text = Format(p.Result(14), "0.00")
Text1.Text = Format(p.Result(20), "0.00")
Text13.Text = Format(p.Result(19) * 100, "0.00")
Text1.Text = Format(p.Result(20) * 100000, "0.00")
End Sub