函式能否返回物件,而不是指標

2021-09-25 21:33:42 字數 539 閱讀 8409

現有一通用 獲取記錄集合函式

function getrec(strsql:string):tadodataset;

varrec1:tadodataset;

begin

rec1:=tadodataset.create(nil);

rec1.connection:=adoconnection1;

rec1.commandtext:=strsql;

rec1.open;

result:=rec1;

rec1.close;

rec1.free;

end;

在其它地方呼叫,返回的因為是個指向 rec1 的指標,因為 rec1 已經被釋放,呼叫總是出錯,請問我該如何正確的用函式返回 tadodataset 記錄集合

解決辦法:

1、tadodataset 在呼叫的地方建立,在引數裡傳遞乙個var tadodataset。

2、你應該這樣使用:

rec1:=tadodataset.create(self);

並且不要釋放它

記錄 jpa返回Iterable而不是list

你可能會好奇為什麼倉庫返回的是乙個 iterable而不是 list,以及為什麼需要花費而外的步驟第二步 iterable並將它轉換為 list.o rm 通常會備份 jdbc 結果集中直接返回的實體列表.這樣做將改善效能,並允許呼叫 在資料庫仍在向應用程式返回資料時立即開始執行.不過,從 trea...

函式返回含有指標成員的物件

移動構造 淺層複製只實現物件間的資料元素一一對應,只複製成員函式中的指標位址,如下圖 pointarray2複製了pointarray1,只複製了指標,pointarray2與pointarray1指向了同一塊陣列元素,在執行後進行記憶體釋放時會先呼叫pointarray1的析構函式釋放陣列記憶體,...

新增Eureka依賴後返回XML而不是JSON資料

新增eureka依賴後返回的是xml格式的資料而不是json格式的資料,是因為eureka中預設整合了com.fasterxml.jackson.dataformat的jackson dataformat xml。xml的優先順序比json的高,所以會優先返回xml。解決辦法 1 去除com.fas...