| Hoşgeldin, Ziyaretçi |
Sitemizden yararlanabilmek için Kayıt olmalısınız.
|
| Forum İstatistikleri |
» Toplam Üyeler: 4.340
» Son Üye: Anıl
» Toplam Konular: 7.202
» Toplam Yorumlar: 55.177
Detaylı İstatistikler
|
|
|
| SQL Table Type parametre gecisi hakkında (Çözüldü) |
|
Yazar: adelphiforumz - 08-04-2026, Saat: 23:01 - Forum: Genel Programlama
- Yorumlar (1)
|
 |
Selamlar
FDStoredProc1 ile SQL uzerinde Table-Type parametresi olan bir Procedure nasıl parametre gecilir.
Kod:
IF NOT EXISTS (SELECT 1 FROM sys.types WHERE is_table_type = 1 AND name = 'UDTT_Test')
BEGIN
CREATE TYPE dbo.UDTT_Test AS TABLE(
SiraNo INT NULL
);
END
GO
if exists (select * from sys.objects where type = 'P' AND name = 'UTP_Test')
drop procedure UTP_Test
go
Create procedure [dbo].[UTP_Test]
@Liste UDTT_Test READONLY
as
begin
Select * from @Liste L order by L.SiraNo Desc
end
GO
DECLARE @Liste dbo.UDTT_Test
INSERT INTO @Liste (SiraNo)
VALUES (1), (2), (3);
EXEC UTP_Test @Liste = @Liste;
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error,
FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async,
FireDAC.Phys, FireDAC.Phys.MSSQL, FireDAC.Phys.MSSQLDef, FireDAC.VCLUI.Wait, FireDAC.Stan.Param,
FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,
Data.DB, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids, FireDAC.Comp.DataSet, FireDAC.Comp.Client;
type
TForm1 = class(TForm)
FDConn: TFDConnection;
FDSP: TFDStoredProc;
DSSP: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
LTable: TFDMemTable;
begin
LTable := TFDMemTable.Create(nil);
try
// TVP yapısını Delphi tarafında oluştur
LTable.FieldDefs.Clear;
LTable.FieldDefs.Add('SiraNo', ftInteger);
LTable.CreateDataSet;
LTable.Open;
// Test verileri
LTable.Append;
LTable.FieldByName('SiraNo').AsInteger := 1;
LTable.Post;
LTable.Append;
LTable.FieldByName('SiraNo').AsInteger := 2;
LTable.Post;
// Stored Procedure ayarı
FDSP.Close;
FDSP.Unprepare;
FDSP.StoredProcName := 'dbo.UTP_Test;1';
// Parametreleri otomatik türetmek yerine elle tanımla
FDSP.FetchOptions.Items := FDSP.FetchOptions.Items - [fiMeta];
FDSP.Params.Clear;
with FDSP.Params.Add do
begin
Name := '@Liste';
ParamType := ptInput;
ArrayType := atTable;
DataType := ftDataSet;
DataTypeName := 'dbo.UDTT_Test'; // SQL Server TYPE adı
end;
FDSP.ParamByName('@Liste').AsDataSet := LTable;
FDSP.Open;
finally
LTable.Free;
end;
end;
end.
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 563
ClientWidth = 840
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Segoe UI'
Font.Style = []
TextHeight = 15
object DBGrid1: TDBGrid
Left = 47
Top = 88
Width = 545
Height = 153
DataSource = DSSP
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -12
TitleFont.Name = 'Segoe UI'
TitleFont.Style = []
end
object Button1: TButton
Left = 120
Top = 272
Width = 105
Height = 25
Caption = 'Button1'
TabOrder = 1
OnClick = Button1Click
end
object FDConn: TFDConnection
LoginPrompt = False
Left = 192
Top = 24
end
object FDSP: TFDStoredProc
Connection = FDConn
Left = 285
Top = 25
end
object DSSP: TDataSource
DataSet = FDSP
Left = 381
Top = 25
end
end
|
|
|
| IOS Deployment Info.Plist hatası |
|
Yazar: mcuyan - 01-04-2026, Saat: 17:55 - Forum: Mobil Platform - FireMonkey (FMX)
- Yorumlar (9)
|
 |
Selam Arkadaşlar. Projemi Delphi 12 den 13 e geçirdim.. Android de bir problem yok. Fakat IOS da ister Development ister APPStore olarak target yaptığımda aşağıdaki hatayı alıyorum:
[PAClient Error] Error: E0264 /Users/cio/PAServer/scratch-dir/Cio-mcu/BargoX.app/Info.plist: Property List error: Found non-key inside <dict> at line 1 / JSON error: JSON text did not start with array or object and option to allow fragments not set. around line 1, column 3.
Gemini Abi nin cevabı:
Gemini şunu dedi:
Gönderdiğin dosya içeriği teknik olarak (XML yapısı bakımından) tamamen doğru görünüyor. Ancak aldığın "Found non-key inside
" ve "column 3" hataları, bu içeriğin dosyaya kaydedilme biçimiyle (Encoding) ilgili bir soruna işaret ediyor.
Hatanın kaynağı büyük ihtimalle dosyanın en başında, gözle görülmeyen UTF-8 BOM karakterinin olmasıdır. Mac üzerindeki
aracı bu karakteri gördüğü anda dosyayı okumayı reddeder.
Sorunu çözmek için şu adımları kesin çözüm olarak uygulayalım:
1. Dosyayı BOM'suz Kaydedin (Kritik Adım)
Eğer Windows Not Defteri (Notepad) kullandıysan, o otomatik olarak BOM ekler. Şunlardan birini yap:
- Notepad++ kullanıyorsan: Üst menüden Encoding > UTF-8 (BOM'suz olan) seçeneğini seç ve kaydet.
- VS Code kullanıyorsan: Sağ altta "UTF-8" yazan yere tıkla, "Save with Encoding" seç ve sadece "UTF-8"i seç.
Hepsini yaptım fakat Halen bu hatayı alıyorum. Hatta dosyayı sildim Delphini Kendi oluşturmasını sağladım.. Yine aynı hatayı alıyorum..
Delphi 13.1
PAServer: 37.0
MacOs SEquoia
XCode 26
IOS SDV Ver: 26
|
|
|
| ComPort komponenti problemi. |
|
Yazar: enigma - 17-03-2026, Saat: 14:18 - Forum: Genel Programlama
- Yorumlar (3)
|
 |
Herkese merhaba.
D 12.1 CE kullanıyorum. Getit Package Manager'den daha önce ComPort Driver kurmuştum. Ancak bu komponent'e güncelleme gelmiş. Bende güncelledim. Ancak daha önce düzgün çalışan komponent porttan aldığı verileri Çince alfabesi şeklinde göstermeye başladı. Aynı programı D7 ile çalıştırdığımda sorunsuz ve doğru şekilde veri geliyor.
Sonrasında D12.1 CE'den bu komponenti kaldırdım. Github'dan bir önceki versiyonu indirip yükledim. Ancak install edemedim. Bunun üzerine yine Getit Package Manager'den doğru çalışmayan versiyonu kurmak istedim ama olmadı aşağıdaki hataları verdi.
Loading EULAS...
Installing Library "TComPortDrv"...
Downloading Library "TComPortDrv"...
Extracting Library "TComPortDrv" to "C:\Users\hasan\OneDrive\Belgeler\Embarcadero\Studio\23.0\CatalogRepository\TComPortDrv-12\". This could take a while...
Adding environment path "Source\" for all platforms and personality "Delphi.Personality"...
Entry already exists on platform "Win32".
Entry already exists on platform "Android64".
Entry already exists on platform "Android".
Compiling project "ComPortDrv.dproj"...
Compiling project "ComPortDrvD.dproj"...
Installing package "ComPortDrvD290.bpl"...
Cannot load package 'ComPortDrv290.' It contains unit 'CPDrv', which is also contained in package 'ComPortDrv'
Error when executing an action of "TComPortDrv" catalog. The action is "InstallPackage" (ID 7).
A problem occurred during the process.
Şu an 2 problemim var.
1. Bu komponenti install edemiyorum.
2. Çince yazılar neden geliyor ?
Yardımınız için teşekkür ederim.
|
|
|
| Delphi FMX, geliştirdiğiniz uygulamanın log kaydını alma işlemi |
|
Yazar: muratcelik64 - 15-03-2026, Saat: 21:38 - Forum: Mobil Platform - FireMonkey (FMX)
- Yorumlar (3)
|
 |
Geliştirdiğiniz uygulamanın log kaydını almak için;
- C:\LOG isimli bir klasör oluşturun.
- Cihazı kablo ile PC ye bağlayın. "Ayarlar/Geliştirici seçenekleri/USB hata ayıklaması" nı aktif hale getirin.
- CMD yi açın.
- adb.exe nin çalıştığı dizine giriş yapın
cd C:\Users\Public\Documents\Embarcadero\Studio\37.0\CatalogRepository\AndroidSDK-37.0.57242.3601\platform-tools
- Şu komutu çalıştırın.
adb logcat -c && adb logcat -v threadtime > C:\LOG\AppFullLog.txt
- Şimdi cihaz üzerinden uygulamanızı çalıştırın ve menülere giriş yaparak kullanın.
- uygulamayı kapatın.
- CMD alanına gelin ve Ctrl + C tuşlarına basarak log yazma işlemini sonlandırın.
C:\LOG dizini içerisinde AppFullLog.txt dosyasının oluştuğunu göreceksiniz.
Ne işe yarayacak:
- Bu işlem sonrası uygulamanın röntgenini çekmiş olacaksınız.
- Klavye, dokunma hissi, geçiş animasyonları, izin yönetimi ile performans sorunlarını görmenizi sağlar.
- AppFullLog.txt dosyasını YZ ya yükleyip değerlendirme yapmasını isteyin
|
|
|
| matematiksel karşılaştırma hatası |
|
Yazar: nevzatc - 09-03-2026, Saat: 16:54 - Forum: Genel Programlama
- Yorumlar (6)
|
 |
Kod:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.Buttons, Vcl.NumberBox;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
NumberBox1: TNumberBox;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function kontrol(dval: double): string;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
NumberBox1.Value := 2.40;
showmessage( kontrol(NumberBox1.Value) );
end;
function TForm1.kontrol(dval: double): string;
begin
if (dval < 2.40) then result := 'Küçük'
else
result := 'Küçük Değil';
end;
end.
Bu işlemin sonucu nasıl oluyor da 'Küçük' dönüyor anlamış değilim, yardımcı olabilecek varsa sevineceğim.
|
|
|
| Image raporlama |
|
Yazar: nevzatc - 03-03-2026, Saat: 12:02 - Forum: Genel Programlama
- Yorumlar (1)
|
 |
Selam arkadaşlar,
Form üzerinde 4 farklı image var, canvas aracılığı ile çizimler yapılıyor, bunları her biri ayrı sayfalara gelecek şekilde fastreport ta 4 ayrı sayfa da nasıl görüntületebilirim ?.
|
|
|
|